Текущий архив: 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.45 MB
Время: 0.015 c