Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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, но только для белого.


Наверх

Титульная страница Поиск, карта сайта Написать письмо