Подписаться на RSS рассылку
Главная » Статьи по Delphi » Bitmap » Копируем "Кусочек" из изображения

Копируем "Кусочек" из изображения

Автор: zuby

Tweet

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

Код очень быстрый и легкий. Начнем.

Подготовка:

На форму кинуть два Image и кнопка. Первый Image назвать "Source", второй Image "Dest". Кнопку Button назвать "Go".

Кодинг:

На кнопке в событии OnClick пишем

var bitm: TBitmap;
begin
bitm:= TBitmap.Create; // создание изображения
bitm.LoadFromFile('C:\1.bmp'); // загружаем любую картинку
Source.Canvas.Draw(0, 0, bitm); // показываем что загрузили

// здесь идет копирование и вывод скопированного на Dest
Dest.Canvas.CopyRect(Rect(0, 0, 50, 50), bitm.Canvas, Rect(0, 0, 50, 50));
bitm.Free; // освобождение
end;

При помощи этой функции (CopyRect) можно увеличить определенный "Кусочек".

просто нужно чуть видоизменить строчку:

Dest.Canvas.CopyRect(Rect(0, 0, 150, 150), bitm.Canvas, Rect(0, 0, 50, 50)); 

Также можно сохранить полученный "Кусочек", добавив в код строчку после копирования

Dest.Picture.SaveToFile('C:\2.bmp'); 

На этом всё! Удачи!

Просмотров: 5776

Обсудить на форуме


Имя *:
Email:


Код *:

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.