![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2 вопроса по Канве... [D7, WinXP]
Sanek_metaller © (2004-05-13 00:19:00)Здравствуйте,собственно:
1)Можно ли из TImage картинку переделать так,чтобы ее через канву отображать?
2)Как отчистить канву?
Заранее всем спасибо.
Style (2004-05-15 00:37:00) [1]Можно и TJpegImage
var
Jpg: TJpegImage;
begin
Jpg := TJpegImage.Create;
try
Jpg.LoadFromFile('C:\yana.jpg');
Form1.Canvas.Draw(0, 0, Jpg);
finally
Jpg.Free;
end;
end;
и не забывай try .. finally...end;
Sanek_metaller (2004-05-15 00:32:00) [2]>Mihey © (15.05.04 00:22) [10]
Угу,огромное вам спасибо.
Sanek_metaller (2004-05-15 00:28:00) [3]>Mihey © (15.05.04 00:22) [10]
Ща посмотрю...
Mihey (2004-05-15 00:22:00) [4]Такой код работает:
uses jpeg;
var Pic: TPicture;
begin
Pic := TPicture.Create;
Pic.LoadFromFile('C:\temp1.jpg');
Form1.Canvas.Draw(0, 0, Pic.Graphic);
Pic.Free;
end;
Sanek_metaller (2004-05-15 00:07:00) [5]Код простой,созд. переменную типа Tbitmap,и в неё гружу BMP,и потом на канву,через Draw,а надо,чтобы вместо BMP,JPG было.
Mihey (2004-05-14 22:28:00) [6]Если хочешь разобраться, то приведи код - поможем.
Sanek_metaller (2004-05-14 22:17:00) [7]Короче нифига JPG не прет...
Mihey (2004-05-13 19:10:00) [8]2 Sanek_metaller:
> И еще вопрос,а можно ли вместо битмэпа юзать JPG?
А это неверный вопрос. Дело в том, что когда ты загружаешь JPEG, то он загружается в bitmap. Так происходит с любым поддерживаемым форматом. В памяти хранится только бтовая матрица, в памяти не хранятся те блоки и прочие данные, которые позволяют быть JPEG'у таким сжатым. Когда ты через LoadFromFile объекта типа TPicture загружаешь JPEG, то ты получаешь этот JPEG в TPicture.Bitmap.
Следовательно, ты можешь юзать любой формат, который можешь загрузить.
Sanek_metaller (2004-05-13 17:02:00) [9]>Mihey © (13.05.04 15:18) [4]
Огромное спасибо,но требовалось не так,а с винта на десктоп,но ответ найден,хотя в хелпе делфийном написано,что через драв битмэпы не юзаются и экземпл там был с метафайлом...
И еще вопрос,а можно ли вместо битмэпа юзать JPG?
Mihey (2004-05-13 15:18:00) [10]По воводу первого. Я так понял, что нужно картинку из TImage отобразить на канве, например, формы:
Form1.Canvas.Draw(0, 0, Image1.Picture.Bitmap);
Sanek_metaller (2004-05-13 15:06:00) [11]>Mihey © (13.05.04 00:37) [1]
Со вторым понятно,а с первым как?
Sanek_metaller (2004-05-13 00:54:00) [12]>Mihey © (13.05.04 00:37) [1]
А можно код,если конечно не сложно...
Mihey (2004-05-13 00:37:00) [13]1) Да
2) FillRect либо через BitBlt с флагом SrcWhiteness, но только для белого.