Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Создать .bmp с нарисованым текстом


Автор: maestro2k 18.2.2007, 13:25
Создать .bmp и написать в нем текст? 
Помогите плиз.

Автор: VICTAR 18.2.2007, 18:07
Код

procedure TForm1.Button1Click(Sender: TObject);
var Bmp: TBitmap;
begin
Bmp:=TBitmap.Create;
Bmp.Width:=100;
Bmp.Height:=100;
Bmp.Canvas.TextOut(0,0,'Текст на bmp');
Bmp.SaveToFile('C:\1.bmp');
Bmp.Free;
end;

Автор: Bitter 18.2.2007, 18:32
создать файл чтоли?

можно так:

Код

 Image1.Picture.BitMap.Width:=100;
 Image1.Picture.BitMap.Height:=100;
 Image1.Picture.BitMap.Canvas.Rectangle(0,0,100,100);
 Image1.Picture.BitMap.Canvas.TextOut(10,10,'HelloWorld'); // Печать текста
 Image1.Picture.SaveToFile('MyBmp.bmp');                    // Сохранение в файл


Добавлено @ 18:36 
Блин, когда отвечал, сообщения выше ещё не было smile))

Автор: maestro2k 18.2.2007, 19:59
А на чистых Апи... Есть битмап который дадо сохранить в файл. 

Автор: Alexeyt 18.2.2007, 22:57
maestro2k, 
зачем чистое API? Если у тебя HBITMAP, то скопируй его в TBitmap, а затем сохрани в файл.

Скопировать так:
FBitmap.Handle:= HBitmap


Автор: Alexeis 19.2.2007, 01:43
Цитата(maestro2k @  18.2.2007,  19:59 Найти цитируемый пост)
А на чистых Апи...


Хотел на АПИ, вот и на АПИ smile

Код

procedure TForm1.Button1Click(Sender: TObject);
var
 bmp   : hBitmap;
 DC    : hDC;
 pen   : HPen;
 bfont : hFont;

begin
  DC  := CreateCompatibleDC(GetDC(0));
  bmp := CreateCompatibleBitmap(DC, 200, 200);
  SelectObject(DC, bmp);

  PatBlt(DC, 0, 0, 200, 200, WHITENESS);

  pen := GetStockObject(BLACK_PEN);
  LineTo(DC, 100, 100);

  bfont := GetStockObject(DEVICE_DEFAULT_FONT);
  TextOut(DC, 20, 20, 'Пример вывода текста', length('Пример вывода текста'));

  BitBlt(Canvas.Handle, 20, 20, 200, 200, DC, 0, 0, SRCCOPY);

  DeleteDC(DC);
  DeleteObject(bmp);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)