ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE アイコンエディタ(未完成版) /よしくん。 (02/01/16(Wed) 17:34) [227]
......MESSAGE Re[1]: アイコンエディタ(未完成版) /にゃんこ (02/01/17(Thu) 15:38) [235]


親記事 / ▼[ 235 ]
NO.227  アイコンエディタ(未完成版)
□投稿者/ よしくん。 -(2002/01/16(Wed) 17:34:58)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】アイコンエディタ (バージョン 中間発表)
【作 成 者】Yoshikazu Urata (連絡先:xxx)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.16
【転  件】可/不可(転載条件:作者にメールで連絡すること/ご自由に)
【ひまわり本体への梱包】可/不可
【実行時に利用作成するファイル】有/無
【コメント】以前作ったマップエディタを応用してアイコンエディタに挑戦中です。32×32専用です。画像をセーブしても完成したアイコンが正しくないとかで、他のエディタや、自身でも読み込めないという問題があります。今のところ何が問題かわかりません。どなたか教えてくださると助かります。PNGでもセーブできるようにしています。こちらは正常にいくみたいです。
---投稿フォームここまで---}

{アイコンエディタ}

ビットサイズ=32。
枠長さ=18。
ガター=5+ビットサイズ+10。
オブジェクトフラグ=0。
ロードフラグ=0。
初期化フラグ=0。

巨大フォームを、イメージとして、作成。
巨大フォームの、Xを、0に、設定。
巨大フォームの、Yを、0に、設定。
巨大フォームの、幅を、(10×2+ビットサイズ×枠長さ)に、設定。
巨大フォームの、高さを、(ガター+ビットサイズ×枠長さ+10)に、設定。

{メニューの設定}
スタートを、メニュー作成。
スタートに、新規作成を、メニュー追加。
スタートに、ロードを、メニュー追加。
スタートに、セーブを、メニュー追加。
スタートに、-を、メニュー追加。
スタートに、終了を、メニュー追加。
ツールを、メニュー作成。
ツールに、パレットを、メニュー追加。

新規作成の、イベントを、初期化に、設定。
ロードの、イベントを、ロードイベントに、設定。
セーブの、イベントを、セーブイベントに、設定。
終了の、イベントを、終了イベントに、設定。
パレットの、イベントを、パレットイベントに、設定。

*初期化
   もし、(オブジェクトフラグ=1)ならば、実寸アイコンを、オブジェクト破壊。
   オブジェクトフラグ=1。
   
   {母艦の設定}
   母艦の、幅=10×4+ビットサイズ×枠長さ。
   
   実寸アイコンを、イメージとして、作成。
   実寸アイコンの、Xを、5に、設定。
   実寸アイコンの、Yを、5に、設定。
   実寸アイコンの、幅を、ビットサイズに、設定。
   実寸アイコンの、高さを、ビットサイズに、設定。
   
   白色で、画面クリア。
   
   初期化フラグ=0。{1ならフォームが更新されている}
   
*描画
   {透過色で塗る}
   X方向=0。
   Y方向=0。
   ペン色=8355584。{(0,127,127)}
   塗り色=8355584。
   実寸アイコンの、(0,0)から、(32,32)へ、四角形描画。
   (11,ガター+1)から、(11+ビットサイズ×枠長さ-1,ガター+1+ビットサイズ×枠長さ-1)へ、四角形。
   
   {枠(アイコン)の描画}
   ペン色=黒色。
   ペン太さ=1。
   (4,4)へ、移動。
   (4+ビットサイズ+1,4)へ、線。
   (4+ビットサイズ+1,4)へ、移動。
   (4+ビットサイズ+1,4+ビットサイズ+1)へ、線。
   (4+ビットサイズ,4+ビットサイズ+1)へ、移動。
   (4,4+ビットサイズ+1)へ、線。
   (4,4+ビットサイズ+1)へ、移動。
   (4,4)へ、線。
   
   {枠(フォーム)の描画}
   {横線}
   Y方向=0。
   (ビットサイズ+1)回(
      (10,ガター+Y方向×枠長さ)へ、移動。
      (10+ビットサイズ×枠長さ,ガター+Y方向×枠長さ)へ、線。
      Y方向=Y方向+1。
   )。
   {縦線}
   X方向=0。
   (ビットサイズ+1)回(
      (10+X方向×枠長さ,ガター)へ、移動。
      (10+X方向×枠長さ,ガター+ビットサイズ×枠長さ)へ、線。
      X方向=X方向+1。
   )。
   
   {デフォルトは白}
   ペン色=16777215。
   塗り色=16777215。
   
   もし、(初期化フラグ=0)かつ(ロードフラグ=1)ならば、ロードイベントへ、飛ぶ。

*メインループ
   巨大フォームの、マウスを押した時を、更新に、設定。
   待機。
   
*更新
   {フォーム内をクリックしたときの処理。}
   もし、(マウスX>=10)かつ(マウスX<=10+ビットサイズ×枠長さ)かつ(マウスY>=ガター)かつ(マウスY<=ガター+ビットサイズ×枠長さ)
   ならば、(
      X座標=整数((マウスX-10)÷枠長さ)。
      Y座標=整数((マウスY-ガター)÷枠長さ)。
      (X座標×枠長さ+11,Y座標×枠長さ+ガター+1)から((枠長さ-1)+X座標×枠長さ+11,(枠長さ-1)+Y座標×枠長さ+ガター+1)へ、四角形。
      実寸アイコンの、(X座標、Y座標)へ、点描画。
      もし、(初期化フラグ=0)ならば、初期化フラグ=1。
   )。
   メインループへ、飛ぶ。

*ロードイベント
   ロードフラグ=1。
   もし、(初期化フラグ=1)ならば、初期化へ、飛ぶ。
   
   「ICOファイル|*.ico|PNGファイル|*.png」の、読込ファイル選択。
   もし、それが、「」でなければ、実寸アイコンの、画像を、それに、設定。
   初期化フラグ=1。
   ロードフラグ=0。
   
   {フォームへの描画}
   X方向=0。
   Y方向=0。
   ビットサイズ回(
      ビットサイズ回(
         実寸アイコンの、(X方向,Y方向)を、座標色取得。
         ペン色=それ。
         塗り色=それ。
         (X方向×枠長さ+11,Y方向×枠長さ+ガター+1)から((枠長さ-1)+X方向×枠長さ+11,(枠長さ-1)+Y方向×枠長さ+ガター+1)へ、四角形。
         X方向=X方向+1。
         もし、(X方向>ビットサイズ-1)ならば、X方向=0。
      )。
      Y方向=Y方向+1。
   )。
   
   {デフォルトは白}
   ペン色=16777215。
   塗り色=16777215。
   
   更新へ、飛ぶ。

*セーブイベント
   {実寸アイコンを、4ビットに、画像ビット数変更。}
   「ICOファイル|*.ico|PNGファイル|*.png」の、書込ファイル選択。
   もし、それが、「」でなければ、それへ、実寸アイコンを、イメージ保存。
   更新へ、飛ぶ。

*パレットイベント
   色選択。
   ペン色=それ。
   塗り色=それ。
   更新へ、飛ぶ。

*終了イベント
   「終了してもいいですか?」と、二択。
   もし、それが、はいならば、終わり。
   もし、それが、いいえならば、更新へ、飛ぶ。




▲[ 227 ] / 返信無し
NO.235  Re[1]: アイコンエディタ(未完成版)
□投稿者/ にゃんこ -(2002/01/17(Thu) 15:38:11)
□U R L/
(〜ヘ〜;)ウーン
うちでは、ICOファイルのセーブは出来ますが、ロードが出来ません。(他のソフトで作成してあるICOなら、きれいにロードできましたが・・・)
PNGファイルでは、セーブは、変な画像になって保存されますが、ロードは、きれいに出来ました。
原因を追求するほど、よくわからなくて申し訳ないですが、ICOファイルのロード時のエラーは、

========
[エラー] himapad.bak(112行目): 画像ファイル"C:\WINDOWS\デスクトップ\1.ico"が読込めません。Icon image is not valid
[エラー] himapad.bak(112行目): オブジェクト"実寸アイコン"の項目,"画像"の設定に失敗しました。
========
らしいです。。。
よしくんさんとこでも、一緒かな?
お役に立てなくてごめんなさいね(^_^;)



- Child Tree -