喫茶XRAYトップページ
[
スレッド全体
]
[11695]
ソースコードと処理コード
返信
削除
2018/1/27 (土) 14:34:24
Mr.XRAY
> [163_コンポーネントのアイコン作成支援プログラム]
>
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
163_Crea
teCompoI
conRes.
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