Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Вывод текста поверх рисунка!   Найти похожие ветки 

 
Ciber   (2002-10-23 20:40) [0]

Всем привет!
Такая проблема:
На рисунке в формате jpeg надо вывести текст. Пробывал воспользоваться методом TCanvas.TextOut(x,y,MyText);
НО! Этот метод выводит текст только если файл в формате bmp!? Подскажите, как выводить текст поверх рисунка если файл в Jpeg
формате???


 
MBo ©   (2002-10-24 06:16) [1]

Переведи jpeg в bitmap


 
Ciber   (2002-10-24 09:11) [2]

На выходе обязательно нужен Jpeg! Пробывал Jpeg переводить в bitmap, а потом обратно в Jpeg! Но при этом происходит потеря качества картинки!


 
pasha676   (2002-10-24 11:31) [3]

Хм. Вообще-то потеря качества должна по идеи происходить только если изменяешь коэффициент компрессии при записи jpg. Если ты его не изменяешь - то может у изначального файла этот коэффицент был выше (лучше по качеству), чем при записи по умолчанию. Поиграйся с ним. Возможно так же ухудшение качества при подгонке размеров под размер показываемый в TImage. Поиграйся strench или как там это пропертя называется.

Кстати если тебе надо только показывать текст (не надо записывать потом текст в jpg файл) - то вообще-то проблемма решается куда меньшей кровью, а если надо редактировать сам рисунок в jpg - то даже самые крутастые редакторы вроде сначала переводят jpg в свой рабочий формат, потом ты там редактируешь, а потом записываешь и происходить конвертация в тот же jpg, например. Непосредственно в jpg, вроде никто не редактирует, ибо довольно навороченное сжатие делает этот процесс крайне сложным, а потери в качестве еще и непредсказуемым.


 
Ciber   (2002-10-24 23:15) [4]

Нет размер файлов при подгонке не меняется, более того сам рисунок редактировать не надо! Вся задача и состоит в том, что бы записать текст в jpeg файл (вернее только одну строку) и сохранить потом рисунок вместе с текстом в таком же jpeg формате! А вот насчет коэффициента комрессии я то же сразу подумал! Вопрос только какой он этот коэффициент компресси по умолчанию и как его изменить???


 
pasha676   (2002-10-25 09:29) [5]

MyJPG:=TJpegImage.Create;
MyJPG.CompressionQuality:=40;
MyJPG.Assign(Image1.Picture.Graphic);
MyJPG.SaveToFile(DatePath+"\"+FileName+".jpg");
MyJPG.Free;

Я что то типа такого делаю. Но мне просто в JPG созранить надо. С записью текста конечно может быть по другому, но принцып тот же. Сам факт - CompressionQuality. 100 - наилучшие качество, худшее сжатие, 0 - лучшее сжатие, худшие качество. MyJPG ессесно типа TJpegImage.
Что еще сказать? Текст является графической информацией фактически из прямых линий. JPG по сути отсекает высокочастотную составляющую информации рисунка. Т.е. текст или прямая линия будут всегда слегка (а то и не слегка от коэф. сжатия зависит) размытыми и с артефактами. Если у тебя артефакты только в тексте, по краям букв - то в принцыпе все нормально, они и должны быть по сути. Ну и поиграйся к коэффицентом CompressionQuality.



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

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
7-15962
Dracula
2002-12-02 12:39
2003.02.06
Серийный номер MB


7-15970
volodya_
2002-12-02 11:09
2003.02.06
Нужно отключить левую кнопку на мышке


14-15887
Думкин
2003-01-18 10:36
2003.02.06
Книги


1-15643
Darkwin
2003-01-28 14:43
2003.02.06
Как вывести сообщение, что программа на нём не останавливалась?


3-15415
Наташа
2003-01-21 17:00
2003.02.06
Транзакции