Gaist-Endruy
( off
)
(
14:04 11-04-2009
)
if SavePictureDialog1.Execute then
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
Gaist-Endruy
( off
)
(
14:04 11-04-2009
)
то пользователь получит возможность сохранить изображение любого формата в файле с новым именем. Только при этом, чтобы не возникало в дальнейшем путаницы, расширение сохраняемого файла все-таки должно соответствовать формату сохраняемого изображения.
Gaist-Endruy
( off
)
(
14:05 11-04-2009
)
Абсолютно идентично для изображений любого формата будет работать программа, если оператор сохранения вы замените на
Gaist-Endruy
( off
)
(
14:05 11-04-2009
)
Image1.Picture.Graphic.SaveToFile(
SavePictrureDialog1.FileName);
Gaist-Endruy
( off
)
(
14:05 11-04-2009
)
использующий свойство Picture.Graphic. А если вам известен формат хранимого в компоненте Image изображения, то вы можете применить метод SaveToFile к свойствам Picture.Bitmap, Picture.Icon и Picture.Metafile.
Gaist-Endruy
( off
)
(
14:05 11-04-2009
)
Для всех рассмотренных объектов Picture, Picture.Bitmap, Picture.Icon и Picture.Metafile определены методы присваивания значений объектов:
Gaist-Endruy
( off
)
(
14:06 11-04-2009
)
procedure Assign(Source: TPersistent);
Gaist-Endruy
( off
)
(
14:06 11-04-2009
)
Однако, для BitMap, Icon и Metafile присваивать можно только значения однородных объектов: соответственно битовых матриц, пиктограмм, метафайлов. При попытке присвоить значения разнородных объектов генерируется исключение ЕConvertError. Объект Picture — универсальный, ему можно присваивать значения объектов любых из остальных трех классов. А значение Picture можно присваивать только тому объекту, тип которого совпадает с типом объекта, хранящегося в нем.
Gaist-Endruy
( off
)
(
14:06 11-04-2009
)
Метод Assign можно использовать и для обмена изображениями с буфером "Clipboard". Например, оператор
Gaist-Endruy
( off
)
(
14:06 11-04-2009
)
Clipboard.Assign(Image1.Picture);