Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Вниз

Потеря качества при уменьшении иображения   Найти похожие ветки 

 
Qwertyk ©   (2005-07-08 19:18) [0]

Здравствуйте! Вот такая проблема: есть некая картинка размером 1500 на 1000 (к примеру). Мне нужно ее уменьшить на половину и вставить в один из canvas"ов. Так проблема в том что при уменьшении картинки получается очень плохое изображение(качество). Как быть?

   Bmp2.LoadFromFile("c:\1.bmp");

   Bmp.Height:=666;
   Bmp.Width:=212;

   Rect1.Left:=0;
   Rect1.Top:=0;
   Rect1.Right:=212;
   Rect1.Bottom:=666;
   
   bmp.Canvas.StretchDraw(rect1,bmp2);
   bmp.SaveToFile("c:\2.bmp");

Делал примерно так. В итоге получался файл 2.bmp с плохи качеством. Как этого можно избежать?


 
palva ©   (2005-07-08 19:41) [1]

Надо уменьшать хорошим интерполяционным алгоритмом алгоритмом. Наверняка и компоненты написаны. Поищи по словам bicubic resample delphi component


 
Qwertyk ©   (2005-07-08 20:15) [2]

Спасибо.
Опять вопрос вот уменьшил я размер изображения, далее вставляю его в канву, но при печате качество изображения не очень (не так к примеру если печатать из ворда)


 
Eraser ©   (2005-07-08 21:40) [3]

Qwertyk ©   (08.07.05 20:15) [2]

Если изображение растровое, то не должно быть разницы между вордом.
Что на картинке?


 
–=ХР=–   (2005-07-08 21:57) [4]

Если изображение растровое, то не должно быть разницы между вордом.

Word экстраполирует растровые изображения при масштабировании, в случае несоответствия DPI между оригиналом растра и устройством вывода.


 
Eraser ©   (2005-07-08 22:14) [5]

–=ХР=–   (08.07.05 21:57) [4]
Ага, так я понял ворд экстраполирует картинку именно до DPI, независимо от разрешения?

Qwertyk ©

Ну значит ищи такие алгоритмы, и изобретай велосипед с распечаткой )


 
–=ХР=–   (2005-07-08 22:33) [6]

Ага, так я понял ворд экстраполирует картинку именно до DPI, независимо от разрешения?

Вы, может, и поняли, только я Ваш вопрос что-то не понял. Sorry. :-/

MS Word производит сглаживание для получения наиболее оптимального изображения на конкретно взятом устройстве вывода. Что конкретно подразумевают разрабочики MS под словом "оптимальность" я не знаю, но получается у них неплохо.

Решение в даном случае простое: использовать вместо физических пикселей (точек) логические пиксели. Плюс, соответствующие способы конвертирования из одних логических координат в другие. Не только координаты векторных примитивов, но и их атрибуты, такие как толщина линии, например. Не только векторные изображения, но и растровые.

И еще: оптимальное качество получается тогда, когда DPI оригинала и устройства вывода совпадают. В любом случае, при несовпадении DPI оригинала и устройства вывода, будет ухудшение качества изображения.


 
Eraser ©   (2005-07-08 23:09) [7]

Решение в даном случае простое: использовать вместо физических пикселей (точек) логические пиксели.

Именно это я и имел ввиду )



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
1-1120817381
serguncho
2005-07-08 14:09
2005.07.25
Упаковка вложенных папок Zlib


10-1097137238
Chlavik
2004-10-07 12:20
2005.07.25
Пишу Addin для Outlook


14-1120497176
Aleksandr_SB
2005-07-04 21:12
2005.07.25
Книги по Microsoft SQL Server 2000


1-1120738656
qwer-10
2005-07-07 16:17
2005.07.25
Поиск файлов


3-1118413306
Inkotex
2005-06-10 18:21
2005.07.25
Filter





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский