|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] CroppedBitmap. Обрезка изображения. |
|
.NET - [решено] CroppedBitmap. Обрезка изображения.
|
Новый участник Сообщения: 12 |
Здравствуйте. Вот например у меня есть изображение на image. Мне нужно обрезать его часть и вернуть не BitmapSource, а BitmapImage. У меня ничего не получается. Как это можно сделать? Вот несколько осмысленных кусков кода из приложения.
//Глобальные переменные в статическом классе private static BitmapImage bitmapImg; private static System.Windows.Controls.Image image; ....... //код из метода Int32Rect rectangle = new Int32Rect(); //тут манипуляции с rectangle ....... //и далее обрезание изображения CroppedBitmap cb = new CroppedBitmap((BitmapSource)image.Source, rectangle); //Обрезаем нужную часть изображения Image imageCropped = new Image(); imageCropped.Source = cb; BitmapSource bitmapSource = (BitmapSource)imageCropped.Source; //это я просто пробовал, толку от этой строки нету Это мне нужно для сохранения изображения в файл таким образом, как видите в качестве параметра тут получаем BitmapImage : public static class ImageSaver { public static void SaveInJpeg(BitmapImage bmp, String Path, int Quality) { FileStream fileStream = new FileStream(Path, FileMode.CreateNew, FileAccess.Write, FileShare.None); JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder(); jpgEncoder.QualityLevel = Quality; jpgEncoder.Frames.Add(BitmapFrame.Create(bmp)); jpgEncoder.Save(fileStream); fileStream.Close(); } } |
|
Отправлено: 17:36, 20-08-2010 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Нашёл решение:
public static BitmapImage BitmapSourceToBitmapImage(BitmapSource bitmapSource) { PngBitmapEncoder encoder = new PngBitmapEncoder(); MemoryStream memoryStream = new MemoryStream(); BitmapImage bImg = new System.Windows.Media.Imaging.BitmapImage(); encoder.Frames.Add(BitmapFrame.Create(bitmapSource)); encoder.Save(memoryStream); bImg.BeginInit(); bImg.StreamSource = new MemoryStream(memoryStream.ToArray()); bImg.EndInit(); memoryStream.Close(); return bImg; } |
Последний раз редактировалось Casper-SC, 25-08-2010 в 01:03. Отправлено: 10:23, 21-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Медиа - Не просматриваются изображения | DregoNFire | Microsoft Windows Vista | 4 | 14-05-2010 11:40 | |
Обрезка AVI | Евгешка | Видео и аудио: обработка и кодирование | 5 | 31-03-2008 20:37 | |
Debian/Ubuntu - Настройка изображения. | Bren74 | Общий по Linux | 20 | 13-02-2008 19:00 | |
Захват изображения | Vovchick1 | Программирование и базы данных | 2 | 29-05-2005 23:28 | |
Нет изображения | Dear | Microsoft Windows 95/98/Me (архив) | 2 | 06-10-2003 08:36 |
|