Загрузка и сохранение графических файлов

Графические образы, которые используются в приложении, иногда требуется сохранить для дальнейшего использования. Компонент Image позволяет достаточно просто и эффективно загружать графику из файла и сохранять в файл.

Компоненты CLX, которые можно использовать для загрузки, сохранения и других действий с графикой, поддерживают несколько графических форматов: bmp, png, xpms, ico и др.

Загрузка графического образа из файла

Если ваше приложение позволяет изменять готовые изображения или создавать новые, необходимо обеспечить возможность загрузки графики из файла. Для этого можно воспользоваться специальным методом LoadFromFile,который имеется у всех компонентов CLX, способных работать с графикой.

Нижеприведенный пример (листинг 13.19) вызывает диалоговое окно открытия файла и получает из него имя файла, содержащего графический образ. Затем происходит загрузка этого образа в компонент Image1.

Листинг 13.29.Загрузка графики из файла

procedure TForm1.Open1Click (Sender: TObject); 
var
CurrentFile: String; begin
if CpenDialogl.Execute then
begin
CurrentFile := OpenDialog1.FileName; Image1.Picture.LoadFromFile (CurrentFile);
end; end;

Для успешной работы данного примера вам необходимо разместить на форме Form1 компонент OpenDialog1, который вы найдете на вкладке Dialogs палитры компонентов Kylix, а также меню Menu1 с пунктом Open, и записать в обработчике события OnClick для данного пункта меню этот код.

Сохранение графического образа в файл

Для сохранения графического образа в файл вызовите метод SaveToFile. Данный метод требует, чтобы вы передали в качестве параметра имя файла, в который будет произведено сохранение графического образа.

Нижеприведенный пример (листинг 13.20) содержит две процедуры для двух пунктов меню Save и SaveAs. Если вызывается пункт меню Save, то производится проверка, был ли уже создан файл для данного графического образа, если он был создан, то образ сохраняется. Если такой файл не был создан, вызывается метод SaveAs, который открывает окно SaveDialog1 и запрашивает имя файла для данного графического образа, после чего управление передается методу Save.

Таким образом, для успешной работы данного примера вам необходимо расположить на форме Form1 меню с двумя пунктами Save и SaveAs и компонент SaveDialog с вкладки Dialogs палитры компонентов Kylix. Кроме того, разместите на форме компонент Image1 для хранения графического образа, после чего запишите в обработчик событий нажатия пунктов меню код, приведенный в листинге 13.20.

Листинг 13.20.Сохранение графики в файл

var
     Form1: TForm1 ;
CurrentFile:String; implementation
{$R *.XFM}
procedure TForm1.Save1Click(Sender: TObject);
begin
if CurrentFile <> '' then
Image1.Picture.SaveToFile(CurrentFile) { файл уже существует } else SaveAslClick(Sender);{ иначе нужно ввести имя файла } end;
procedure TForm1.SaveAslClick(Sender: TObject); begin
if SaveDialog1.Execute then { Получить имя файла } begin
CurrentFile := SaveDialog1.FileName; { сохранить файл с именем,
заданным пользователем }
Save1Click(Sender); { вызов метода сохранения файла } end;
end;
Hosted by uCoz