http://www.codeproject.com/Tips/552141/Csharp-Image-resize-convert-and-saveのコードを使用してプログラムでイメージのサイズを変更しました。ただし、このプロジェクトではWindowsのアプリケーションで利用できないライブラリSystem.Drawing
が使用されています。Windows 10でイメージをコピーおよびサイズ変更する方法UWP
私が代わりにWindows.UI.Xaml.Media.Imaging
からBitmapImage
クラスを使用して試してみましたが、System.Drawing
で発見された機能を提供していないようだ...
は、誰もがに(縮小)画像サイズを変更することができるという任意の運を持っていましたウィンドウズ10?私のアプリケーションは、異なるフォーマット/サイズの複数のソースからの画像を処理することになります。実際に表示されている画像に合わせてアプリケーションサイズを調整するのではなく、実際の画像のサイズを変更して領域を節約しようとしています。
EDIT
私は上記のリンクからコードを修正し、私の特定のニーズのために働くハックを持っています。ここでは、次のとおりです。
public static BitmapImage ResizedImage(BitmapImage sourceImage, int maxWidth, int maxHeight)
{
var origHeight = sourceImage.PixelHeight;
var origWidth = sourceImage.PixelWidth;
var ratioX = maxWidth/(float) origWidth;
var ratioY = maxHeight/(float) origHeight;
var ratio = Math.Min(ratioX, ratioY);
var newHeight = (int) (origHeight * ratio);
var newWidth = (int) (origWidth * ratio);
sourceImage.DecodePixelWidth = newWidth;
sourceImage.DecodePixelHeight = newHeight;
return sourceImage;
}
このように動作しているようですが、理想的ではなく、元のBitmapImage
を修正するよりも、私が変更し、代わりに返すために、それの新しい/コピーを作成したいと思います。
ミスリーディングタイトル、OP。イメージのサイズを変更する方法があります。元のイメージのコピーを作成し、サイズを変更してから、コピーを返します。 –
@BrianDriscoll編集前に質問を投稿しました。この編集で元の画像のサイズを変更するコードが追加されました。私は答えとしてそれを掲示していただろうが、それはまだ十分ではなかった。しかし、私は新しいタイトルが好きです。ありがとう。 –
イメージの定数を作成できますか?または、プライベートプロパティは、イメージの元のコピーを参照し、同じ機能を使用することができますか? – aguertin