Gaist-Endruy
( off
)
(
14:06 11-04-2009
)
занесет в буфер обмена изображение, хранящееся в Image1. Аналогично оператор
Gaist-Endruy
( off
)
(
14:07 11-04-2009
)
Image1.Picture.Assign(Clipboard);
Gaist-Endruy
( off
)
(
14:07 11-04-2009
)
прочитает в Image1 изображение, находящееся в буфере обмена. Причем это может быть любое изображение и даже текст.
Gaist-Endruy
( off
)
(
14:07 11-04-2009
)
Надо только не забыть при работе с буфером обмена вставить в оператор uses вашего модуля ссылку на модуль Clipbrd. Автоматически Delphi эту ссылку не вставляет.
Gaist-Endruy
( off
)
(
14:08 11-04-2009
)
При загрузке разных изображений размер окна приложения может оказаться или слишком маленьким, и тогда вы увидите только часть изображения, или слишком большим, и тогда изображение будет некрасиво размещено в левом верхнем углу формы, оставляя много пустого пространства.
Gaist-Endruy
( off
)
(
14:08 11-04-2009
)
Этот недостаток можно устранить, если воспользоваться свойствами Height (высота) и Width (ширина) компонента Image. При свойстве AutoSize установленном в true размеры Image автоматически устанавливаются равными размерам загруженного изображения. И этими размерами можно воспользоваться для соответствующего изменения размеров формы. Например, приведенный ранее код загрузки изображения из файла можно заменить на следующий:
Gaist-Endruy
( off
)
(
14:09 11-04-2009
)
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(
OpenPictureDialog1.FileName);
Form1.ClientHeight := Image1.Height+10;
Image1.Top := Form1.ClientRect.Top
+ (Form1.ClientHeight - Image1.Height) div 2;
Form1.ClientWidth := Image1.Width+10;
Image1.Left := Form1.ClientRect.Left
+ (Form1.ClientWidth - Image1.Width) div 2;
end;
Gaist-Endruy
( off
)
(
14:09 11-04-2009
)
В этом коде размеры клиентской области формы устанавливаются несколько больше размеров компонента Image1, которые в свою очередь адаптируются к размеру картинки благодаря свойству AutoSize. Внесите эти исправления в свое приложение, выполните его и увидите, что форма стала автоматически адаптироваться к размерам загруженного изображения.
Gaist-Endruy
( off
)
(
14:11 11-04-2009
)
Только я вот никак не пойму, зачем выводить текст на canvas компонета TImage или формы TForm усли текст можно попросту вывести в компонент TLabel а если его нужно просто напросто сохранить в файл графический то воспользоватся изысканой процедурой.
Весь материал был взят с Help по Delphi 6. Был переведен на русский язык и упрещен.
Gaist-Endruy
( off
)
(
14:15 11-04-2009
)
Если есть какие-то вопросы по Delphi то вы всегда можете найти на них ответы сдесь.