Копирование рисунка
Копирование рисунка
Библиотека .NET Compact Framework 1.0 не поддерживает метод System.Drawing.Image.Clone, позволяющий создать точную копию картинки. Это ограничение легко обходится с помощью создания собственных методов. Кроме того, можно расширить возможности метода и добавить функциональность, позволяющую копировать часть картинки. Соответствующий код приведен в листинге 6.17.
Листинг 6.17
// Копируем всю картинку
protected Bitmap CopyBitmap(Bitmap source) {
return new Bitmap(source);
}
// Копируем часть картинки
protected Bitmap CopyBitmap(Bitmap source, Rectangle part) {
Bitmap bmp = new Bitmap(part.Width, part.Height);
Graphics g = Graphics.FromImage(bmp);
g.DrawImage(source, 0, 0, part, GraphicsUnit.Pixel);
g.Dispose();
return bmp;
}
private void button1_Click(object sender, EventArgs e) {
Graphics g = CreateGraphics();
Bitmap myBMP = new Bitmap(@"windowsanner.gif");
// Половина ширины картинки
int left = myBMP.Size.Width / 2;
// Копируем всю картинку Bitmap
clone = CopyBitmap(myBMP);
// копируем левую часть картинки
Bitmap part =
CopyBitmap(myBMP, new Rectangle(0, 0, left, myBMP.Size.Height));
// Выводим три картинки по вертикали:
// источник, копию и копию левой части
int y = 10;
// картинка-источник
g.DrawImage(myBMP, 10, y);
y += myBMP.Height + 10;
// картинка-копия
g.DrawImage(clone, 10, y);
y += clone.Height + 10;
// копия левой части картинки
g.DrawImage(part, 10, y);
y += part.Height + 10;
g.Dispose();
}
private void button2_Click(object sender, EventArgs e) {
Graphics g = CreateGraphics();
Bitmap myBMP = new Bitmap(@"windowsanner.gif");
g.Clear(Color.White);
int left = myBMP.Size.Width / 2; // Копия картинки
Bitmap clone = (Bitmap)myBMP.Clone();
int y = 10;
g.DrawImage(myBMP, 10, y);
y += myBMP.Height + 10;
g.DrawImage(clone, 10, y);
y += clone.Height + 10;
g.Dispose();
}
В этом примере создаются две перегруженные версии метода CopyImage. При помощи этого метода можно копировать картинку или ее часть. Для сравнения в примере было показано, как можно скопировать картинку с помощью метода Clone, доступного в .NET Compact Framework 2.0. Результат работы соответствующего приложения показан на рис. 6.4.
Рис. 6.4. Копирование картинки разными способами
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Смена фонового рисунка
Смена фонового рисунка О том, как сменить рисунок на Рабочем столе, вы можете узнать из видеоролика «Урок 2.4. Смена фонового рисунка на Рабочем столе».В Windows Vista появилась целая галерея красивых изображений (рис. 2.11), которыми вы можете украсить свой Рабочий стол. Чтобы
7.8. Изменение рисунка учетной записи
7.8. Изменение рисунка учетной записи Рисунок учетной записи – то, что вы видите при вводе пароля входа в систему или при выходе из режима заставки. Кроме того, этот рисунок также отображается в верхней части меню Пуск. Не всем нравится значок, выбранный системой, например
Определение границ рисунка
Определение границ рисунка Команда LIMITS позволяет установить границы текущего рисунка в пространстве модели и в пространстве листа. Она вызывается из падающего меню Format ? Drawing Limits. В AutoCAD границы рисунка выполняют две функции: определяют диапазон изменения координат
Разделение рисунка по слоям
Разделение рисунка по слоям Построенные объекты всегда размещаются на определенном слое. Например, один слой может содержать несущие конструкции, стены, перегородки здания, другой слой – коммуникации, электрику и т. п., а третий – мебель, элементы дизайна и т. д. Таким
Смена фонового рисунка
Смена фонового рисунка Есть люди, которые накрывают обеденный стол скатертью. Есть люди, которые украшают Рабочий стол Windows какой-нибудь картинкой. Если вы принадлежите к таким ценителям красоты, щелкните кнопкой мыши на ссылке Фоновый рисунок Рабочего стола в окне
Определение границ рисунка
Определение границ рисунка Команда LIMITS позволяет установить границы текущего рисунка в пространстве модели и в пространстве листа. Она вызывается из падающего меню Format ? Drawing Limits. В AutoCAD границы рисунка выполняют две функции: определяют диапазон изменения координат
Разделение рисунка по слоям
Разделение рисунка по слоям Построенные объекты всегда размещаются на определенном слое. Например, один слой может содержать несущие конструкции, стены, перегородки здания, другой слой – коммуникации, электрику и т. п., а третий – мебель, элементы дизайна и т. д. Таким
Определение границ рисунка
Определение границ рисунка Команда LIMITS позволяет установить границы текущего рисунка в пространстве модели и в пространстве листа. Она вызывается из падающего меню Format ? Drawing Limits. В AutoCAD границы рисунка выполняют две функции: определяют диапазон изменения координат
Разделение рисунка по слоям
Разделение рисунка по слоям Построенные объекты всегда размещаются на определенном слое. Например, один слой может содержать несущие конструкции, стены, перегородки здания, другой слой – коммуникации, электрику и т. п., а третий – мебель, элементы дизайна и т. д. Таким
Определение границ рисунка
Определение границ рисунка Команда LIMITS позволяет установить границы текущего рисунка. Она вызывается из падающего меню Format ? Drawing Limits.Границы рисунка – это пара двумерных точек в мировой системе координат: координаты левого нижнего и правого верхнего углов,
Разделение рисунка по слоям
Разделение рисунка по слоям Построенные объекты всегда размещаются на определенном слое. Например, один слой может содержать несущие конструкции, стены, перегородки здания, другой слой – коммуникации, электрику и т. п., а третий – мебель, элементы дизайна и т. д. Таким
Как убрать часть рисунка?
Как убрать часть рисунка? Попробуем стереть нарисованную рожицу. Это можно сделать разными способами. Каким из них воспользоваться — решайте по обстановке.Способ 1Нажмите кнопку Выделить.Выделите часть рисунка.Нажмите клавишу Delete. Выделенная область будет удалена
Работа с фрагментами рисунка
Работа с фрагментами рисунка Выделив прямоугольную или произвольную область рисунка, вы можете перемещать ее, копировать, изменять размеры области и выполнять другие преобразования.Для выделения прямоугольной части рисунка выберите инструмент Выделение, щелкните
Выбор фонового рисунка
Выбор фонового рисунка Изменение рисунка Рабочего стола является любимым занятием начинающих пользователей. Для этого в Windows Vista не только появилась галерея новых высококачественных изображений, но и был полностью переработан интерфейс окна настройки фонового рисунка