Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Часы на картинке... (https://forum.antichat.xyz/showthread.php?t=97605)

WON 23.12.2008 18:34

Часы на картинке...
 
Форма не имеет строки заголовка, всю её клиентскую часть занимает картинка, на которой отображается текущее время.

Я пробовал зделать так:
Код:

procedure TForm1.FormCreate(Sender: TObject);
begin
  WindowState := wsMaximized;
  BorderStyle := bsNone;
  Image1.Align := alClient;
  Image1.Picture.LoadFromFile('C:\Documents and Settings\Администратор\Мои документы\Мои рисунки\x_030ddb01.jpg');
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Image1.Canvas.TextOut(100,100, TimeToStr(Time));
end;

Но выскакивает ошибка:
Код:

Project Project1.exe raised exception class EInvalidOperation with message 'Can only modify am image if it containts a bitmap'. Process stopped. Use Step or Run to continue.
Я понимаю что оно не может рисовать на загруженом рисунке поэтому возникает вопрос... Как зделать что бы можно было?

bons 23.12.2008 19:32

если рисунок в bmp ошибки не будет. Если не хочешь хранить файл рисунка в таком формате то можешь преобразовывать его в битмап непосредственно в программе.

WON 23.12.2008 19:52

А как?

Код:

procedure TForm1.FormCreate(Sender: TObject);

var jpeg : TJPEGImage;

begin

  //jpeg.Create;

  WindowState := wsMaximized;

  Image1.Align := alClient;

  BorderStyle := bsNone;

  jpeg.LoadFromFile('C:\Documents and Settings\Администратор\Мои документы\Мои рисунки\x_030ddb01.jpg');

  Image1.Picture.Bitmap.Assign(jpeg);

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

  Image1.Canvas.TextOut(100,100, TimeToStr(Time));

end;

такой вариант работать не хочет... даже если коментарий убрать...

bons 23.12.2008 20:06

Код:

procedure TForm1.FormCreate(Sender: TObject);
var jpg:TJPEGImage;
begin
  jpg:=TJPEGImage.Create;
  jpg.LoadFromFile('d:\Apathy.jpg');
  Image1.Picture.Bitmap.Assign(jpg);
  jpg.Free;
end;


WON 23.12.2008 20:13

всё спасибо.. я понял где протупил....
Код:

jpeg := TJPEG.Create;

De-visible 23.12.2008 21:01

Вопрос решен. Closed.


Время: 11:01