喫茶XRAYトップページ

[スレッド全体
]

[11666] コンポーネントのアイコン作成支援返信 削除
2018/1/8 (月) 21:43:11 Mr.XRAY
一応バグがとれたと思いますので修正版を UP しました.
ピクセルの色操作の際に画像に「ゴミ」が入る等のバグ修正の他,
以下の更新をしています.

(1) マルチアイコンファイルとして保存する機能を追加
    折角複数の画像を読み込むのでついでに

(2) 画像のサイズとビット数の設定をダイアログで行うようにした
    この方が結果を確認しやすいので

(3) 起動オプションの AllSize (大文字小文字は問わない) で
    256 x 256 までのサイズの画像を読み込めるようにした

以上です.
記事は今現在更新していません.
逐次更新予定です.とりあえずプログラムだけ UP しました.

どうしてもできない機能は下図のようなダイアログを表示して逃げることにしました.

[163_コンポーネントのアイコン作成支援プログラム]
http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm




[11695] ソースコードと処理コード返信 削除
2018/1/27 (土) 14:34:24 Mr.XRAY
> [163_コンポーネントのアイコン作成支援プログラム]
> http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm


記事のページにはソースコードを掲載していませんので,
少しばかりノウハウと思えることを.

今回は主にコンポーネントのアイコン用ビットマップとして扱いますので,
画像の色数を保持して処理しています.主に TBitmap を使用しています.
TBitmap でピクセルの操作を連続的に実行する時は注意が必要です.

  TBitmap.Handle;
  // 描画処理
  TBitmap.Dormant;

のようにしないと画像に「ゴミ」が描画されることがあります.
Dormant は TBitmap のハンドルを無効にします.
ハンドルが無効のままだと描画できないので,描画開始の時に Handle を実行します.

また,Scanline などで操作する時も

  TBitmap.Canvas.lock;
  // 処理コード
  TBitmap.Canvas.Unlock;

としないとゴミが入ることがあります.
サンプルプログラム集に掲載しているサンプルコードは,単発の,主に 1 回だけ
の処理ですから,上記のコードがなくてもほとんど問題ありません.

今回はアイコン画像のような操作ですが,
写真等の画像であれば GDI+ 等を使用した方が便利です.


[11696] Re:ソースコードと処理コード-減色返信 削除
2018/1/27 (土) 14:47:13 Mr.XRAY
減色処理には中村拓男さんが提供している TNkDIB を使用しています.
サンプルプログラム集にはいろいろな方法を掲載していますが,
それらは,ネット上にも記事があるので,比較可能にするためです.

24 ビット以下を扱うのであれば,TNkDIB を使用する方法が確実です.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82