0

分離ストレージに保存する前に、カメラから取得している画像のサイズを縮小しようとしています。私はすでにそれを最低解像度(640x480)に減らしました。バイトをほぼ1MBで出力されるのではなく、100kbに​​減らすにはどうすればよいですか。

void cam_CaptureImageAvailable(object sender, Microsoft.Devices.ContentReadyEventArgs e)
    {

        string fileName = folderName+"\\MyImage" + savedCounter + ".jpg";

        try
        {   

            // Set the position of the stream back to start
            e.ImageStream.Seek(0, SeekOrigin.Begin);

            // Save picture as JPEG to isolated storage.
            using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream targetStream = isStore.OpenFile(fileName, FileMode.Create, FileAccess.Write))
                {

                    // Initialize the buffer for 4KB disk pages.
                    byte[] readBuffer = new byte[4096];
                    int bytesRead = -1;

                    // Copy the image to isolated storage. 
                    while ((bytesRead = e.ImageStream.Read(readBuffer, 0, readBuffer.Length)) > 0)
                    {
                        targetStream.Write(readBuffer, 0, bytesRead);
                    }

                }

            }




        }
        finally
        {
            // Close image stream
            e.ImageStream.Close();
        }

    }
4

1 に答える 1

0

Windows Phoneについては何も知りませんが、このリンクが役立つかもしれません:http: //msdn.microsoft.com/en-us/library/ff769549 (v=vs.92).aspx

1)jpegをロードします2)ビットマップにコピーします3)品質設定を使用してビットマップとして保存します http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.extensions.savejpeg(v=vs。 92).aspx

于 2012-04-15T17:04:27.220 に答える