午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

拡大縮小と指定色の半透明をできるようにしたPixtack紫陽花

イメージ 1
おまけ機能を押すと上のウィンドウが出てくる
これで選択した画像を半透明にしたり拡大縮小する
 

f:id:gogowaten:20191014102344p:plain

半透明にする色は表示されている画像から選ぶ
四角をクリック→画像をクリック→四角をクリック→透明度を指定する→透明ボタンをクリック
 
矢印のところの四角をクリックするとマウスカーソルが矢印から十字型に変わるので
半透明にする色を画像の中から選んでをクリックして決めると
さっきの四角の中の色が変わる
この色で良ければもう一度四角をクリックする
マウスカーソルが元の形に戻る
あとは「透明」ボタンを押すと半透明になる
透明度は0から255で
0にすると完全に透明になって色の情報も消えてしまうみたい
例えば赤色はARGBだと(255,255,0,0)これが
(0,255,0,0)にならないで(0,0,0,0)になる
 

f:id:gogowaten:20191014102404p:plain

選択色を透過したところ
この画像を移動させると
 

f:id:gogowaten:20191014102418p:plain

こうなる
これは仕様!
この状態で保存してもまともな状態になるけど
見た目も変えたいときはもう一度「透明」ボタンをクリックで↓になる

f:id:gogowaten:20191014102438p:plain

 

f:id:gogowaten:20191014102457p:plain

拡大縮小
方式が3つ選べる
一番上が元の大きさでその他3つは倍率0.5を2回で四分の一の大きさにしたもの
上からハイクオリティバイキュービック
バイリニア法
ニアレストネイバー法
らしくて上のほうが難しい計算をしているから大きな画像だと時間が掛かる
画質もその分いいらしい
 

f:id:gogowaten:20191014102512p:plain

拡大したところ
 

f:id:gogowaten:20191014102530p:plain

他の機能と併用もできるみたいだけど、いろいろ不具合が出ていると思う
色とか大きさとか戻したいときのボタンは「元に戻す」
 
指定色の半透明は画像すべてのピクセルを一個ずつ判定して
半透明にしているのでかなり処理が重い
2048x1536の画像で8秒かかった
この待ち時間の間は後何秒とかマウスカーソルが砂時計になるとかの
気の利いたことはないです
 
おまけ機能を一回閉じてもう一度開くとエラーになるのを修正
画像を1枚だけ表示した状態でサムネを操作するとエラーになるのを修正
いつも複数枚でテストしていたから気付かなかった
 
参照したところ
野村のホーム頁 - 2 G0502 画像の透明化
http://www.nextftp.com/swlabo../m1_vbnet/tips2005/2_graphics/g0502.htm
補間方法を指定して画像を拡大、縮小(スケーリング)表示する: .NET Tips: C#, VB.NET
http://dobon.net/vb/dotnet/graphics/interpolationmode.html
ダウンロード
ファイル名 Pixtack_20140106.zip