喫茶XRAYトップページ

[スレッド全体
]

[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