C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 【wpf】canvas画像保存時の大きさ


(過去ログ 141 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■82818 / inTopicNo.1)  【wpf】canvas画像保存時の大きさ
  
□投稿者/ のりっち (4回)-(2017/02/07(Tue) 11:01:17)

分類:[.NET 全般] 

いつもお世話になっています。

canvasの画像をpng,jpg等で保存するプログラムを作成しています。

下記を参考にして、画像の保存自体は出来ましたが、別の基盤に保存した
データを表示するため、画像の大きさを拡大して保存したいと考えています。

canvas画像保存時、大きさを1920 × 1080 に拡大して保存したいのですが、
どのようにして拡大すればよいでしょうか。

【参考にしたサイト】
http://qiita.com/hugo-sb/items/894914f6bbe224a45d49

引用返信 編集キー/
■82820 / inTopicNo.2)  Re[1]: 【wpf】canvas画像保存時の大きさ
□投稿者/ Hongliang (496回)-(2017/02/07(Tue) 11:30:40)
アスペクト比は元々16:9ということでいいのでしょうか。違うのであればどう拡大するのか(アスペクト比を無視して拡大するのか、長い方に合わせて拡大し黒帯などを入れるのか、短い方に合わせて拡大し余る分をクリップするのか)という問題が出ますが。

とりあえずその辺を考えないとして、簡単にはTransformedBitmapでScaleTransformを与えれば拡大できます。
がこれには補間方法を指定できない(最近傍補間限定っぽいので汚い)という問題があります。
ここなどにはDrawingGroupを使って補間方法を指示しつつリサイズを行う方法が提示されています。
http://stackoverflow.com/questions/15821358/transformedbitmap-scaling-mode
このページにはWriteableBitmapExなるものも提案されてますね。
引用返信 編集キー/
■82821 / inTopicNo.3)  Re[2]: 【wpf】canvas画像保存時の大きさ
□投稿者/ のりっち (5回)-(2017/02/07(Tue) 12:38:19)
Hongliangさん

返信ありがとうございます。
canvasを保存したいサイズに拡大して保存するということですね。

scaleTramsformで拡大して保存したところ、希望の大きさに保存することができました。
画面もきれいに保存されてよかったです。

【実施したコマンド】
this.CavasImage.RenderTransform = new ScaleTransform(3.84, 4.22, 0, 0);

補間方法については、余裕があれば調べてみたいと思います。
ありがとうございました。

No82820 (Hongliang さん) に返信
> アスペクト比は元々16:9ということでいいのでしょうか。違うのであればどう拡大するのか(アスペクト比を無視して拡大するのか、長い方に合わせて拡大し黒帯などを入れるのか、短い方に合わせて拡大し余る分をクリップするのか)という問題が出ますが。
>
> とりあえずその辺を考えないとして、簡単にはTransformedBitmapでScaleTransformを与えれば拡大できます。
> がこれには補間方法を指定できない(最近傍補間限定っぽいので汚い)という問題があります。
> ここなどにはDrawingGroupを使って補間方法を指示しつつリサイズを行う方法が提示されています。
> http://stackoverflow.com/questions/15821358/transformedbitmap-scaling-mode
> このページにはWriteableBitmapExなるものも提案されてますね。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -