Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2011, 03:42   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию Визуальное отображение сжатия картинки

Здравствуйте.
Как это можно реализовать по проще? У меня появилась такая идея
сохраняем отдельно оригинал и сохраняем его копию и производим ее сжатие и отображаем в Image. Если не устраивает то перетираем копию оригиналом и опять делаем над ним действия сжатия.
Может есть способ попроще?
Lokos вне форума Ответить с цитированием
Старый 04.07.2011, 04:01   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

зачем копипровать? может байтики мерять? Отношение оригинала к сжатому?
Человек_Борща вне форума Ответить с цитированием
Старый 04.07.2011, 04:06   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
зачем копипровать? может байтики мерять? Отношение оригинала к сжатому?
а как выводить все это дело на просмотр чтоб визуально можно было видеть изменение рисунка
Lokos вне форума Ответить с цитированием
Старый 04.07.2011, 05:19   #4
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

сделал так
Код:
procedure TFormCompreesForm.trUrovenChange(Sender: TObject);
var
   jpg:TJPEGImage;
   potok:TMemoryStream;
begin
   lblUrovenSzat.Caption:='Сжать на '+IntToStr(100-trUroven.Position)+'%';
   jpg:=TJPEGImage.Create;
   potok:=TMemoryStream.Create;
   jpg.Assign(imgOriginal.Picture.Graphic);
   jpg.CompressionQuality:=(100-trUroven.Position);
   jpg.Compress;
   jpg.SaveToStream(potok);
   imgEdit.Picture.Graphic.LoadFromStream(potok);
   lblRazmerCompress.Caption:=IntToStr(potok.Size);
   potok.Free;
   jpg.Free
end;
но при загрузке потока вылетает ошибка обращения к несуществующему адресу почему(((
Lokos вне форума Ответить с цитированием
Старый 04.07.2011, 08:19   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Попробуйте так
Код:
potok.position:=0;
imgEdit.Picture.Graphic.LoadFromStream(potok);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.07.2011, 08:34   #6
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Попробуйте так
Код:
potok.position:=0;
imgEdit.Picture.Graphic.LoadFromStream(potok);
пробовал та же проблема. А вот если сохранять в файл и потом от туда загружать то все работает.
Lokos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение картинки в C++ в формате jpeg, используя "путь" записанный в базе данных типа Access Gared Помощь студентам 0 15.05.2011 17:29
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11
Макрос. Отображение картинки AnatolSh Microsoft Office Excel 8 17.11.2009 16:22
Визуальное отображение в соответствии с установленной Windows Niklan Общие вопросы Delphi 4 04.11.2009 15:43
Визуальное отображение активной табы cneltyn HTML и CSS 0 27.10.2009 10:07