午後わてんのブログ

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

エクセルから貼り付ける時に画像形式を選べるようになったPixtack紫陽花1.3.7.76

選択画像だけ保存の不具合修正
クリップボードからの画像追加で
クリップボードに複数の画像形式があった場合に
ビットマップ(Bitmap)形式を優先するボタンと
拡張メタファイル(EnhancedMetaFile)形式を優先するボタンを追加した
ほぼエクセル用?
 
選択画像だけ保存の不具合修正

f:id:gogowaten:20191016093939p:plain

画像の一部を透明にして選択画像だけ保存(自透過)
 
イメージ 2
選択画像だけ保存(自透過)
 
前回の(自透過)は
イメージ 3
透明にしたところが反映されていなかった
 
 
クリップボードからの画像追加の形式の選択
 
例えばエクセルのグラフをコピーすると
クリップボードにはたくさんの形式の画像が入る

f:id:gogowaten:20191016093958p:plain

形式を選択して貼り付けをするといろいろな形式の画像が入っているのがわかる
今までのPixtack紫陽花のクリップボードからの画像追加は
PNG形式を優先でPNGがなければビットマップの画像を貼り付けていた
今回はemf(拡張メタファイル)とbmp(ビットマップ)を
選択できるようにボタンを追加してみた
 

f:id:gogowaten:20191016094011p:plain

bmpがビットマップ(Bitmap)
emfが拡張メタファイル(EnhancedMetafile)
 
それぞれの違い、比較

f:id:gogowaten:20191016094024p:plain

エクセルでいろいろ用意して
ここからコピーして貼り付けてみる
 
ワードアート
イメージ 7
bmpは透明や半透明が使えないので背景が白になってしまっているのが
残念だけど文字の輪郭とかくっきりしていて元に忠実
emfはbmpとは逆に輪郭がぼやけているけど背景は透明になっているのがいい
png優先はいままでの方式でボタンはクリップボードから追加からのもの
結果はサイズが大きくなっている以外は完璧
 

f:id:gogowaten:20191016094156p:plain

貼り付けているところ
 
イメージ 9
ワードアートの枠の中にカーソルを入れて文字編集の状態でコピーして貼り付け
 

f:id:gogowaten:20191016094212p:plain

枠でコピーとの比較
文字編集の状態でコピーだと枠がコピーされないのと
文字の艶がなくなっている
emfはサイズが大きくなっている
png優先は少し縮んだ
 
イメージ 11
今度は中の文字の「ドア」をコピー
 
イメージ 12
中にカーソルを置いた状態でコピーの時と同じ感じ
 
次はセルのコピー
イメージ 13
左上のセルだけ塗りつぶしなし
 
イメージ 14
bmppng優先は全く同じなのはセルのコピーでは
png形式の画像がクリップボードに作成されないからかな
emfは塗りつぶしなしの左上のセルの文字は太くなってしまっているけど
しっかり透明になっている
 
イメージ 15
セル範囲をコピーして「図として貼り付け」をしたものをコピー
結果
イメージ 16
背景色付けてみた
bmpだけに枠が付いているように見えるけど
他の形式でも透明の枠が付いている
 

f:id:gogowaten:20191016094421p:plain

背景色用も画像をずらすとこう
緑が残っているところが透明部分
 
イメージ 18
セル範囲をコピーして「図のリンク貼り付け」したものをコピー
イメージ 19
これは面白い結果
bmp画像は作られないみたい
emfとpngは同じに見えるけどemfのほうが縦横共に1ピクセル大きい
 
イメージ 20
セルの背景の書式でパターンとグラデーション
 
イメージ 21
セルのコピーと同じ感じ
 
イメージ 22
テキストボックスの枠を選択した状態でコピー
 
イメージ 23
pngだと大きくなってしまう
bmpは枠の外側に白の枠が付いている
emfもpngも透明の枠が付いている
 
イメージ 24
テキストボックスでテキストや背景に色を付けたものの枠を選択した状態でコピー
 
イメージ 25
さっきと同じ感じだ
 
イメージ 26
テキストボックスの中にカーソルを入れて文字編集の状態でコピー
 
イメージ 27
ワードアートと同じように文字全体を選択していなくてもコピーされている
bmpは背景が白になってしまっているけどそれ以外は完璧
それも背景色を透明にすれば

f:id:gogowaten:20191016094630p:plain

はい、できた
 
イメージ 29
テキストボックスの中の文字の一部をコピー
 
イメージ 30
今までの結果から予想通りだと思う
 
イメージ 31
図形の四角、塗りつぶしは半透明にしてある
 
イメージ 32
これもbmpは半透明が反映されていない
pngは大きくなってしまう
emfが一番忠実、完璧
 

f:id:gogowaten:20191016094655p:plain

挿入→SmartArtで作れるSmartArt
 

f:id:gogowaten:20191016094714p:plain

元に忠実なのはemfかなあ…
bmpはやっぱり透明がないから枠ができている、それ以外は忠実
emfは一部の文字の輪郭がおかしい、アンチエイリアスを使う
文字だと変な輪郭が出るのかな、それ以外は忠実
pngは相変わらず大きくなる
どれも一長一短
 

f:id:gogowaten:20191016094729p:plain

今度は赤枠だけを選択してコピー
スマートアートはいくつかの図形を組み合わせたものみたい?
 

f:id:gogowaten:20191016094747p:plain

どれも左の画像がなくなっているし
大きさや縦横のアスペクト比も違っているから
全体にぼやけてしまっている
エクセルに普通に貼り付けると
イメージ 37
こうなる
画像はなくなるけどそれ以外は全く同じ
これをコピーだと
 
イメージ 38
まとめてコピーした時と同じだ
 

f:id:gogowaten:20191016094924p:plain

中の文字の一部をコピー
 
イメージ 40
画像はないみたい
エクセルで形式を選択して貼り付けを見てみると

f:id:gogowaten:20191016094952p:plain

やっぱり画像はない
 
イメージ 42
それならさっき単体でコピペしたものならどうか
 
イメージ 43
こっちには画像が作られていた
 
 
イメージ 44
グラフをコピー
 

f:id:gogowaten:20191016095023p:plain

これはbmpが一番忠実
 
 
イメージ 46
開発→挿入からのActiveXコントロールやフォームコントロールの場合
 
イメージ 47
ActiveXコントロールのLabelの場合
図のリンク貼り付けの時と同じようにbmpの画像は造られないみたい
 
イメージ 48
ActiveXコントロールのボタンも同様
 
イメージ 49
フォームコントロールのLabelの場合
pngがいい
 
イメージ 50
フォームコントロールのボタンの場合
ActiveXコントロールのボタンと同様の結果
 
ボタンやLabelの文字をコピーした場合は画像なしになっていた
 
ここでひとつの記事に貼り付ける画像の上限50枚に達したらしい
あとちょっとなのに…
以前は上限が50枚なのは妥当だと思うって
小梅と小麦と小豆さんコメントしたことがあるけど
まさか自分がこの制限に引っかかるとは…
やっぱり50枚じゃ足りないですねw
 
ダウンロード
ファイル名
Pixtack紫陽花_20141215_x64.zip 64ビット版
Pixtack紫陽花_20141215_x86.zip 32ビット版
 
ダウンロード先1
ダウンロード先2(ヤフーボックス)
64ビット版
 
32ビット版
 
参照したところ
Microsoft Officeでコピーした図をPictureBoxに表示する: .NET Tips: C#, VB.NET
 
 
関連記事
続き
 
前回2014/12/14は2日前