喫茶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




[11667] Re:コンポーネントのアイコン作成支援返信 削除
2018/1/9 (火) 23:30:03 Mr.XRAY
> 記事は今現在更新していません.

記事も更新しました.
記事の更新の時に気づいたことがあったので少し修正があります.


[11668] Re2:コンポーネントのアイコン作成支援返信 削除
2018/1/10 (水) 22:01:01 Mr.XRAY
> 記事も更新しました.
> 記事の更新の時に気づいたことがあったので少し修正があります.


メインフォームの TListView と右側の表示幅を変更して,
再度起動しても設定が反映されない現象を修正しました (^^;
TSplitter で調整するやつです.ハイ.


[11673] Re3:コンポーネントのアイコン作成支援返信 削除
2018/1/15 (月) 18:55:30 Mr.XRAY
はい,またバグ発見です.修正しましたです.
ついでにプログラムのアイコン画像を少しきれいにしてみました.
「コンポーネントのアイコン作成支援」を使用して.
うん,こいつは便利だ !! (自画自賛)

いじっていたらちょっと変な動作があるような.気のせいか ?
いいゃ ! また何か問題があったらということにしよう.


[11674] .BPL(コンパイル済みパッケージ)の場所返信 削除
2018/1/15 (月) 19:03:17 Mr.XRAY
それと,某掲示で書き込みがあった .bpl てすが,
以下に [備考] で説明を追加しておきました.

[パッケージインストール後のファイル類とその場所]
http://mrxray.on.coocan.jp/Delphi/CompoInstall/UserPackage.htm#07

[[ コンポーネント ]  [ コンポーネントのインポート ] で取り込む]
http://mrxray.on.coocan.jp/Delphi/CompoInstall/TypeLibraryD2009.htm#02

エクスプローラのアドレス欄に以下を入力して [Enter] でその場所が開きます.

%PUBLIC%\DOCUMENTS\RAD Studio


[11675] アイコンのリフレッシュ返信 削除
2018/1/15 (月) 23:50:55 Mr.XRAY
> ついでにプログラムのアイコン画像を少しきれいにしてみました.

もし,サンプルのショートカット等を作成していて,
アイコンの画像が変化しない場合は以下を実行してみてください.
サンプルをダウンロードしてもいいですが,たった 1 行ですので...

[05_アイコンの変更をシステムへ通知]
http://mrxray.on.coocan.jp/Delphi/plSamples/909_ChangeExeIcon.htm#list3


[11680] Re:コンポーネントのアイコン作成支援返信 削除
2018/1/18 (木) 18:11:12 Mr.XRAY
更新しました.

(1) 選択中のリソースの複製を作成する機能を追加しました.
    エクスプローラにもコピーの機能があるのだから,気が付きそうなものですが,
    これがまた気づかないんですよね.

(2) 選択中のリソースの画像の保存は,
    保存ダイアログのフィルタで選択するのではなく,
    保存のボタンをクリックした時にリストを表示して選択するようにしました.

(3) 簡易画像エディタに [左右反転] [上下反転] [90 度回転] の機能を追加しました.

(4) 16 色, 256 色の画像を PNG 形式で保存すると,
    正常に保存できない現象を修正しました.
 


[11688] Re:コンポーネントのアイコン作成支援返信 削除
2018/1/22 (月) 13:39:36 Mr.XRAY
更新しました.更新内容は以下の通りです.

(1) マウス用カーソルファイルの保存機能を追加
(2) マルチアイコンファイルの選択ダイアログでメモリリークがあったのを修正
(3) マルチアイコン選択用のリストで画像が正しく表示されない現象を修正
(4) クリップボードからの貼り付け機能が動作しないことがある現象を修正

[07_使用方法 - カーソルファイルとしての保存とホットスポット設定]
http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm#07


[11689] Glyph 用ビットマップの作成機能返信 削除
2018/1/24 (水) 21:16:49 Mr.XRAY
Glyph 用ビットマップの作成機能を追加しました.

(1) 256 色のアイコンを読み込んでも 16 色になってしまうバグを修正
(2) アイコン画像の透過ピクセルの色の設定機能を追加
(3) グレイスケール化と明るさの設定で,透過色の処理はしないようにした

等の修正,追加,変更をしています.

[09_使用方法 - Glyph 用ビットマップの作成と保存]
http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm#09


[11690] Re:Glyph 用ビットマップの作成機能返信 削除
2018/1/25 (木) 16:31:39 Mr.XRAY
> Glyph 用ビットマップの作成機能を追加しました.

これをもちまして,コンポーネントのアイコン作成支援のプログラムに実装すべき
機能は全て実装しました.


[11691] 透過色と透過ピクセル返信 削除
2018/1/25 (木) 23:42:54 Mr.XRAY
> (2) アイコン画像の透過ピクセルの色の設定機能を追加

透過ピクセルはそのまま読み込むと「黒」になるのですが,
昔の 1 ビットのマウスカーソルを読み込んだ時に,う〜む,となったわけです.
1 ビットなので 2 色です.そしてほとんどが黒と白です.
つまり,透過ピクセルの黒と区別つかなくなってしまうのです.

最初は 1 ビットの画像だけを,透過ピクセルに色を付けたのですが,
統一性がありません.そこでこの仕様に変更しました.
透明色にしてもいいのですが,すると,ビットマップとしての扱い方法を
考えなけれなりません.
透明色が使えるのはアルファチャンネルが有効な 32 ビットだけですから.

これは,マウスカーソルとしての保存機能を追加した時に発生した問題です.

# アイコン形式の画像 (マウスカーソルもアイコン形式です) には透明色
# というのはありません.どのピクセルを透過表示するかという情報で描画します.
# GIF 形式には透過色というのがあります.
# その透過色のピクセルを透過表示します.
# ビットマップにも透過色の設定がありますが,実行時の設定です.


[11692] Re:Glyph 用ビットマップの作成機能返信 削除
2018/1/25 (木) 23:48:05 Mr.XRAY
> (3) グレイスケール化と明るさの設定で,透過色の処理はしないようにした

これは今回の Glyph 用ビットマップの作成で問題となりました.
画像全体をグレイスケールにすると,作成した Glyph 画像の各々の背景色が
違うことになります.もちろん違っていても,透過表示は各々の左下のピクセル
の色となりまから,それでもいいのですが,TImage 等に表示したときに
体裁がよくないので,この仕様にしました.

まっ,あれですよ.プログラムというのは,実際にやってみて,使ってみないと
気が付かないことがあるということでございます.ハイ.


[11693] Re:コンポーネントのアイコン作成支援返信 削除
2018/1/26 (金) 23:36:30 Mr.XRAY
明るさ,コントラストの設定で,アルファチャンネル付き画像の半透明ピクセル,
つまり,影の部分がゆやたら黒くなるのを修正.

ただし,半透明の場合のコントラスト (実際はガンマ値) の定義というか,
というのを知らないので私の感性で設定しました.

あっ,コントラストの計算で透過色を除外するのを忘れた !!
その内... (^^;


[11694] Re2:コンポーネントのアイコン作成支援返信 削除
2018/1/27 (土) 11:42:25 Mr.XRAY
> あっ,コントラストの計算で透過色を除外するのを忘れた !!
> その内... (^^;


修正しました.
24 ビットの明るさも処理を忘れていたので修正しました (^^;


[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 を使用する方法が確実です.


[11705] 減色時の透明ピクセルの扱い返信 削除
2018/1/29 (月) 21:58:00 Mr.XRAY
> [163_コンポーネントのアイコン作成支援プログラム]
> http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm


に以下のサンプルと同じ機能を追加しました.
減色時に必要と思われますので,サイズ・色数変更のダイアログで設定するように
しています.
この機能の追加に伴い,透明ピクセルの塗り潰しの機能の仕様を変更しています.

[094] [11_アイコン画像の減色処理における半透明ピクセルの扱い]
http://mrxray.on.coocan.jp/Delphi/plSamples/094_ConvertToMouseCursor.htm#11



[11706] Re:減色時の透明ピクセルの扱い返信 削除
2018/1/30 (火) 16:29:09 Mr.XRAY
> [094] [11_アイコン画像の減色処理における半透明ピクセルの扱い]
> http://mrxray.on.coocan.jp/Delphi/plSamples/094_ConvertToMouseCursor.htm#11


上の記事を以下に移動しました.
http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm#17


[11707] Re:コンポーネントのアイコン作成支援返信 削除
2018/2/2 (金) 18:47:24 Mr.XRAY
> [163_コンポーネントのアイコン作成支援プログラム]
> http://mrxray.on.coocan.jp/Delphi/plSamples/163_CreateCompoIconRes.htm


ドラッグ & ドロップ等でファイルを読み込んだり追加した時に,リソース ID が
選択されていないのに画像が表示される現象を修正しました.
(画像が選択されていませんというダイアログが表示される)


INCM/CMT
Cyclamen v3.82