Надпись на картинке Vampyre Imaging
Добавлено: 09.03.2018 13:52:31
Гружу картинку с помощью Vampyre Imaging, нужно добавить на нее текст. Штатные средства для этого искал плохо и не нашел. Долго думать не стал, решил скопировать картинку в TImage, там сделать все что надо и скопировать обратно в TMultiImage.
Сработало частично, текст рисуется только белым цветом и без алиасинга. Как сделать красивую цветную надпись?
кусок отвечающий за вывод текста и картинки
полная демка, вроде должна работать, ничего доустонавливать ненадо
https://yadi.sk/d/HByIdtJK3TBVue
Сейчас набегут художники и научат как правильно... только пжст без гитар и прочих камертонов))
Сработало частично, текст рисуется только белым цветом и без алиасинга. Как сделать красивую цветную надпись?
кусок отвечающий за вывод текста и картинки
- Код: Выделить всё
procedure TForm1.onCreateHandler(Sender: TObject);
var
img:TImage;
ts:TTextStyle;
begin
try
if not assigned(LImg) then
LImg:=TMultiImage.create;
LImg.LoadMultiFromFile('Weave.jpeg');
except
//MessageDlg(GetExceptObject.Message, mtError, [mbOK], 0);
//OutputForm.Img.CreateFromParams(32, 32, ifA8R8G8B8, 1);
end;
//копируем из вампировского TMultiImage в TImage
img:=TImage.Create(nil);
if not assigned(img.Picture.Graphic) then
img.Picture.Graphic:=TImagingBitmap.Create;
img.Picture.Graphic.Assign(LImg);
//настраиваем параметры вывода текста
ts:=img.Picture.Bitmap.Canvas.TextStyle;
ts.SingleLine:=false;
ts.Alignment:=taLeftJustify;
ts.Layout:=tlTop;
img.Picture.Bitmap.Canvas.Font.Size:=80;
img.Picture.Bitmap.Canvas.Font.Quality:=fqCleartypeNatural;
img.Picture.Bitmap.Canvas.Font.Color:=clRed;
img.Picture.Bitmap.Canvas.TextRect(Rect(0,0,Image1.Width,Image1.Height),0,0,'TEST',ts);
//копируем обратно из TImage в вампировский TMultiImage
LImg.Assign(img.Picture.Graphic);
//выводим на форму то что получилось
UpdateView(LImg);
end;
полная демка, вроде должна работать, ничего доустонавливать ненадо
https://yadi.sk/d/HByIdtJK3TBVue
Сейчас набегут художники и научат как правильно... только пжст без гитар и прочих камертонов))