0

私は PhotoChooserTask から画像を読んでいて、写真のストリームを持っています。画像のサイズを小さくする必要があります

私はこのコードを書きます

            WriteableBitmap writeableBitmap = new WriteableBitmap(400, 400);
            writeableBitmap.LoadJpeg(stream);

            using (var isoFile = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isoFile.FileExists("Myfile.jpg")) isoFile.DeleteFile("Myfile.jpg");
                using (var filestream = isoFile.CreateFile("Myfile.jpg"))
                {
                    writeableBitmap.SaveJpeg(filestream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 100);
                }
            }

このコードは、画像の縦横比を維持しません。

作り方は?

4

2 に答える 2

0

最初にソース イメージを writeableBitmap にロードします (サイズ変更なし)。

次に、ソースの幅 (PixelWidth) と高さ全体 (PixelHeight) を取得します。PixelWidth を PixelHeight で除算すると、比率が得られます。サイズ変更時にこの値を使用できます。

そう:

float aspectRatio = (float) writeableBitmap.PixelWidth / writeableBitmap.PixelHeight;

次に、保存するときは

writeableBitmap.SaveJpeg(filestream, ResizedWidthValue, (int) ResizedWidthValue / aspectRatio, 0, 100);
于 2014-05-22T11:22:00.893 に答える