АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

DrawImage Variations

Читайте также:
  1. BANKING
  2. Basic types of prosodic contours in English
  3. British schools today
  4. Choose Your Words Carefully
  5. Classification of phonemes.
  6. Compiling the Code
  7. Definition of meaning. Meaning and concept. Different approaches to study of meaning.
  8. English-based pronunciation standarts of English. Received pronuncation.
  9. Entertaining
  10. Example
  11. Example

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 перегружен, поэтому он поддерживает различные варианты передачи аргументов.

Варианты DrawImage

Один из вариантов метода DrawImage принимает объекты Bitmap и Rectangle. Прямоугольник задает область, в которой должно быть нарисовано изображение. Если размер прямоугольника назначения отличается от размеров исходного изображения, изображение масштабируется, чтобы соответствовать прямоугольнику назначения. В приведенном ниже примере кода демонстрируется три способа рисования одного изображения: рисование без масштабирования, рисование с увеличением и рисование со сжатием.

ß----------

 

 

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

ß---------------


Some variations of the DrawImage method have a source-rectangle parameter as well as a destination-rectangle parameter. The source-rectangle parameter specifies the portion of the original image to draw. The destination rectangle specifies the rectangle in which to draw that portion of the image. If the size of the destination rectangle is different from the size of the source rectangle, the picture is scaled to fit the destination rectangle.

The following code example shows how to construct a Bitmap from the file Runner.jpg. The entire image is drawn with no scaling at (0, 0). Then a small portion of the image is drawn twice: once with a compression and once with an expansion.

Bitmap myBitmap = new Bitmap("Runner.jpg"); // One hand of the runner Rectangle sourceRectangle = new Rectangle(80, 70, 80, 45); // Compressed hand Rectangle destRectangle1 = new Rectangle(200, 10, 20, 16); // Expanded hand Rectangle destRectangle2 = new Rectangle(200, 40, 200, 160); // Draw the original image at (0, 0). myGraphics.DrawImage(myBitmap, 0, 0); // Draw the compressed hand. myGraphics.DrawImage( myBitmap, destRectangle1, sourceRectangle, GraphicsUnit.Pixel); // Draw the expanded hand. myGraphics.DrawImage( myBitmap, destRectangle2, sourceRectangle, GraphicsUnit.Pixel);

The following illustration shows the unscaled image, and the compressed and expanded image portions.


Некоторые варианты метода DrawImage получают в качестве параметров не только конечный, но и исходный прямоугольник. Исходный прямоугольник задает часть исходного изображения, которая должна быть нарисована. Прямоугольник назначения задает прямоугольник, в котором должна быть нарисована эта часть изображения. Если размер прямоугольника назначения отличается от размера исходного прямоугольника, изображение масштабируется, чтобы соответствовать размеру прямоугольника назначения.

Приведенный ниже пример кода демонстрирует создание объекта Bitmap из файла Runner.jpg. Изображение из файла рисуется целиком, без масштабирования, с привязкой к точке с координатами (0, 0). Затем небольшой фрагмент изображения отображается дважды: один раз — со сжатием, второй раз — с увеличением.

ß---------

 

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

ß-----------------


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)