logo search
CSharp_Graphics

Типы файлов и клонирование

Приведенный ниже пример кода демонстрирует создание объекта Bitmap из файла Climber.jpg и отображение извлеченного из этого файла растрового рисунка. Верхний левый угол изображения совмещается с точкой с координатами (10, 10), которые задаются вторым и третьим параметром.

Bitmap myBitmap = new Bitmap("Climber.jpg");

myGraphics.DrawImage(myBitmap, 10, 10);

На приведенном ниже рисунке показано полученное изображение.

---

Объект Bitmap можно создавать из файлов различных графических форматов, таких как BMP, GIF, JPEG, EXIF, PNG, TIFF или ICON.

Приведенный ниже пример кода демонстрирует создание объекта Bitmap из файлов различных типов и отображение извлеченных из этих файлов растровых рисунков.

--------

The Bitmap class provides a Clone method that you can use to make a copy of an existing Bitmap. The Clone method has a source rectangle parameter that you can use to specify the portion of the original bitmap that you want to copy. The following code example shows how to create a Bitmap by cloning the top half of an existing Bitmap. Then both images are drawn.

Bitmap originalBitmap = new Bitmap("Spiral.png");

Rectangle sourceRectangle = new Rectangle(0, 0, originalBitmap.Width,

originalBitmap.Height / 2);

Bitmap secondBitmap = originalBitmap.Clone(sourceRectangle,

PixelFormat.DontCare);

myGraphics.DrawImage(originalBitmap, 10, 10);

myGraphics.DrawImage(secondBitmap, 150, 10);

The following illustration shows the two images.

У класса Bitmap имеется метод Clone, который можно использовать для создания копии существующего объекта Bitmap. Метод Clone получает в качестве аргумента исходный прямоугольник, который определяет часть исходного растрового рисунка, которую нужно скопировать. Следующий пример кода показывает, как создать новый объект Bitmap путем копирования верхней половины существующего объекта Bitmap. После этого оба изображения будут выведены на экран.

--------------

На приведенном ниже рисунке показаны полученные изображения.

------------------

Cropping and Scaling Images in GDI+

You can use the DrawImage method of the Graphics class to draw and position vector images and raster images. DrawImage is an overloaded method, so there are several ways you can supply it with arguments.

DrawImage Variations

One variation of the DrawImage method receives a Bitmap and a Rectangle. The rectangle specifies the destination for the drawing operation; that is, it specifies the rectangle in which to draw the image. If the size of the destination rectangle is different from the size of the original image, the image is scaled to fit the destination rectangle. The following code example shows how to draw the same image three times: once with no scaling, once with an expansion, and once with a compression:

Bitmap myBitmap = new Bitmap("Spiral.png");

Rectangle expansionRectangle = new Rectangle(135, 10,

myBitmap.Width, myBitmap.Height);

Rectangle compressionRectangle = new Rectangle(300, 10,

myBitmap.Width / 2, myBitmap.Height / 2);

myGraphics.DrawImage(myBitmap, 10, 10);

myGraphics.DrawImage(myBitmap, expansionRectangle);

myGraphics.DrawImage(myBitmap, compressionRectangle);

The following illustration shows the three pictures.

Обрезка и масштабирование изображений в GDI+

Метод DrawImage класса Graphics позволяет рисовать и размещать векторные и растровые изображения. Метод DrawImage перегружен, поэтому он поддерживает различные варианты передачи аргументов.