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

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
3-15447
mate
2003-01-20 11:05
2003.02.06
Сортировка в MSSQL


6-15807
s22_shura
2002-12-15 19:47
2003.02.06
udp и Tthread


1-15563
Arkady
2003-01-28 16:07
2003.02.06
try … except


1-15551
Sergy
2003-01-28 15:28
2003.02.06
Не могу найти ссылку на файл?


3-15403
Ч
2003-01-21 16:59
2003.02.06
Работа с датой и ЕditMask





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский