Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2018, 11:19   #1
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию Текст по картинке

Загружаю jpg в Jmage, пытаюсь по ней вывести текст - ругается при выполнении. А как же быть ? Картинка д.б. одна, а тексты разные. Впрочем, не в картинке дело - пытаюсь залить Jmage путем FillRect - ругается при выполнении все равно. Ы?

Отвечаю сам себе. Если залить не из Blank.jpg, а из Blank.bmp - все ОК. Но почему же и на FillRect вылетает - ХЗ ? Неисповедимы пути Дельфийские-7 .
Изображения
Тип файла: jpg button.JPG (40.9 Кб, 61 просмотров)

Последний раз редактировалось digitalis; 07.07.2018 в 11:43.
digitalis на форуме Ответить с цитированием
Старый 07.07.2018, 12:53   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Там так и написано что рисовать можно только на Bitmap.
Картинку надо преобразовать в Bitmap, к примеру так:

Код:
procedure PictureGenBitmap(LPicture:TPicture);
var
    LBitmap:TBitmap;
begin
LBitmap:=TBitmap.Create;
LBitmap.PixelFormat := pf32bit;
LBitmap.Width:=LPicture.Width;
LBitmap.Height:=LPicture.Height;
LBitmap.Canvas.Draw(0, 0, LPicture.Graphic);
LPicture.Bitmap:=LBitmap;
LBitmap.Destroy;
end;

PictureGenBitmap(Image1.Picture);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 07.07.2018, 20:07   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Наверно, не так все строго. Вот заменил в вышеприв. коде всего лишь 'Blank.jpg' на 'Blank.bmp', ну и Blank.bmp закинул в папку, конечно же - и все зажурчало.
Код:
    if FileExists (strtmp) then
        Image1.Picture.LoadFromFile(strtmp)
    else
      begin
        Image1.Picture.LoadFromFile('F:\XLS\JPG\Blank.bmp') ;
        Image1.Canvas.Font.Name := 'Courier New' ;
        Image1.Canvas.Font.Color := clGreen ;
        Image1.Canvas.Font.Style := [fsBold] ;
        Image1.Canvas.Font.Size := 14 ;
        Image1.Canvas.TextOut (600,40,str12) ;
      end ;
Ну в принципе когда загрузил .bmp, Bitmap сам собой образовался, видимо.

И когда формировал картинку для скидывания в файл, то прямо по Canvas безо всяких Bitmap рисовал.
Код:
    For i := 1 to 9 do strtmp := strtmp + Format(' %6.2f',[Money[MasInd[i]]]) ;
    Image1.Canvas.Font.Size := 12 ;
    Image1.Canvas.Font.Color := clRed ;
    Image1.Canvas.TextOut(98,Niz-46,strtmp) ;
    Image1.Canvas.Brush.Color := clNavy ;
    Image1.Canvas.FillRect(Rect(20,Niz-50,780,Niz-52));
    Image1.Canvas.Brush.Color := clLime ;
    i := Round(Money[0]/fl) ;
    if i > Niz-53 then i := Niz-55 ;
    Image1.Canvas.FillRect(Rect(45,Niz-53-i,65,Niz-52));

Последний раз редактировалось digitalis; 07.07.2018 в 20:23.
digitalis на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Привязать текст к картинке doober Microsoft Office Word 7 17.07.2014 16:17
Флеш Текст +1 - Flash дна кнопка и один текст(Label), как сделать чтоб при нажатии на кнопку текст Label был Label.text + 1 quarty Общие вопросы Web 6 24.12.2013 15:13
Большой текст в Memo и Как привязать новое окно в картинке wolfgrey21 Общие вопросы Delphi 2 04.02.2013 22:19
Текст на картинке bulldog5293 Общие вопросы Delphi 4 25.04.2011 20:52
текст на картинке Chudo4258 HTML и CSS 21 29.05.2009 22:54