с помощью CameraCaptureTask для фотосъемки.
Проблема: поток не совпадает с g_stream = e.ChosenPhoto, когда я использую поток photostream = g_MS, который используется в функции ReduceSize ().
Я хочу получить поток, аналогичный g_stream = e.ChosenPhoto, после уменьшения размера фотографии в функции ReduceSize ().
stream g_stream;
BitmapImage g_bmp;
MemoryStream g_MS = new MemoryStream();
void task_Completed(object sender, Microsoft.Phone.Tasks.PhotoResult e)
{
try
{
if (e.TaskResult == TaskResult.OK)
{
g_bmp = new BitmapImage();
g_bmp.CreateOptions = BitmapCreateOptions.DelayCreation;
g_bmp.SetSource(e.ChosenPhoto);
g_stream = e.ChosenPhoto;
ReduceSize();
}
}
catch (Exception ex)
{
}
}
private void ReduceSize()
{
string m_Filenm = "Testing.jpg";
WriteableBitmap wb = new WriteableBitmap(g_bmp);
//--wb read byte into memorystream
System.Windows.Media.Imaging.Extensions.SaveJpeg(wb, g_MS,800, 640, 0, 100);
g_MS.Seek(0, SeekOrigin.Begin);
stream photostream = g_MS;
//------------------ Save
//--save in the photo Library under Saved Photo Collection
MediaLibrary ML = new MediaLibrary();
ML.SavePicture(m_Filenm, g_MS);
}