午後わてんのブログ

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

2色グラデーションのガンマ補正、Pixtack紫陽花

仕様の変更
文字の描画で角度がマイナスの時は右下がりにして、プラスなら右上がりにした(昨日と逆)
今までは適用ボタンを押したあとの画像が元の画像になっていたけど
透明や拡大縮小の時と同じように適用前の状態に戻るようにした
画像を追加するときのレイヤーの初期値を上層にした
 
追加機能、ボタン
四角形の書式適用ボタン
四角形の見本を表示するようにした
四角形の2色グラデーションでガンマ補正をかけられるようにした
文字の背景色の2色グラデーションでガンマ補正をかけられるようにした
文字の見本でサイズと不透明度、傾きを変更したときも反映するように出来たけど
起動時にエラーになる可能性もある
 
不具合の解消
文字の描画の画像がない時に文字の描画の適用ボタンを押すとエラーになっていたのを修正
適用ボタンをおした時透過処理がされていなかったのを修正
 
四角形の適用ボタン

f:id:gogowaten:20191014114347p:plain

一旦作成した四角形に後から色とかを変えたくなったとき
たとえば、真ん中の画像を選択状態にして
作成のタブの方で書式を変更して適用ボタンを押すと変わる

f:id:gogowaten:20191014114401p:plain

仕様の変更として以前は適用ボタンを使って変更した画像は
画像を元に戻すのボタンを押しても戻らなかったけど戻るようにした
 
 
2色グラデーションのガンマ補正

f:id:gogowaten:20191014114416p:plain

使えるのは四角形作成と文字の描画の背景色
 
 
イメージ 4
たった1行付け加えるだけなのに
使う色によってはかなり印象が変わるなあ
 
参照したところ
VB.NET 動的コントロールの存在確認と削除方法 | Visual BasicのQ&A【OKWave
http://okwave.jp/qa/q4256971.html
グラデーションをかける: .NET Tips: C#, VB.NET
http://dobon.net/vb/dotnet/graphics/lineargradientbrush.html
ダウンロード
ファイル名 Pixtack_20140204.zip
 
 
文字や四角形の見本の表示の更新で
サイズや不透明度などの数値を変更したときも見本に反映するようにしたけど
これが原因でアプリ自体が起動できないことがあるかも
もともと数値が変わった時に見本の画像も更新するっていうのを実行すると
起動時に
”既定のインスタンスからの作成中に、フォームがそれ自体を参照し、無限再帰の原因になりました。”
っていうエラーが出て起動できないから
数値が変わった時ではなくクリックした時に更新することにしていた
原因がよくわからないので解決することもできなかったけど
予測として起動中に数値が変わったと判断されて更新しようとしたけど
起動中なので更新に必要な物が揃っていないからエラーになるんじゃないかと
じゃあ更新に必要な物が揃っているかどうか判断すればいいんじゃないかと
でもどうやって判断するのかわからんけどひねり出したのが
自分自身が設置されているグループボックスが存在するか有効になっているかどうか
グループボックスに入っていなければタブコントロールが存在するかどうか
なんだけど場所によってエラーが出たり出なかったりで安定しない
理解できていないから解決になっていないので起動できないこともあるかもになっている
 
クリックした画像がすっ飛んでいく致命的な不具合は3回目くらいの
直した宣言から遭遇していないなあ、これは本格的に直ったか