Малювання зображень
Малювання Ліній
Цей приклад використовує клас Graphics для малювання ліній на поверхні зображення. Щоб продемонструвати операцію, приклад створює нове зображення та малює лінії на поверхні зображення, використовуючи метод DrawLine, доступний у класі Graphics. Спочатку ми створимо PsdImage, вказавши його висоту та ширину.
Після створення зображення ми використовуємо метод Clear, відкритий в класі Graphics, щоб встановити колір фону. Метод DrawLine класу Graphics використовується для малювання лінії на зображенні, яка з’єднує дві структури точок. Цей метод має кілька варіантів завантажень, що приймають екземпляр класу Pen та пари координат чи структури Point/PointF в якості аргументів. Клас Pen визначає об’єкт, що використовується для малювання ліній, кривих та фігур. У класі Pen є кілька перевантажених конструкторів для малювання ліній з вказаним кольором, шириною та кистю. Клас SolidBrush використовується для малювання неперервно зі специфічним кольором. Наприкінці зображення експортується у формат bmp файлу. У наступному фрагменті коду ви побачите, як малювати лінії на поверхні зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Lines.bmp"; | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and Clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw two dotted diagonal lines by specifying the Pen object having blue color and co-ordinate Points | |
graphic.DrawLine(new Pen(Color.Blue), 9, 9, 90, 90); | |
graphic.DrawLine(new Pen(Color.Blue), 9, 90, 90, 9); | |
// Draw a four continuous line by specifying the Pen object having Solid Brush with red color and two point structures | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Red)), new Point(9, 9), new Point(9, 90)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Aqua)), new Point(9, 90), new Point(90, 90)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Black)), new Point(90, 90), new Point(90, 9)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.White)), new Point(90, 9), new Point(9, 9)); | |
image.Save(outpath, saveOptions); | |
} |
Малювання Еліпса
Приклад малювання еліпса є другою статтею в серії малювання фігур. Ми використаємо клас Graphics для малювання форми еліпса на поверхні зображення. Щоб продемонструвати операцію, приклад створює нове зображення та малює форму еліпса на поверхні зображення, використовуючи метод DrawEllipse, доступний у класі Graphics. Спочатку ми створимо PsdImage, вказавши його висоту та ширину.
Після створення зображення ми створимо та ініціалізуємо об’єкт класу Graphics та встановимо колір фону зображення за допомогою методу Clear класу Graphics. Метод DrawEllipse класу Graphics використовується для малювання форми еліпса на поверхні зображення, вказану прямокутною структурою обмеження. Цей метод має кілька варіантів завантажень, що приймають екземпляри класів Pen та Rectangle/RectangleF або пару координат, висоту та ширину як аргументи. Клас Pen визначає об’єкт, який використовується для малювання ліній, кривих та фігур. У класі Pen є кілька перевантажених конструкторів для малювання ліній з вказаним кольором, шириною та кистю. Клас Rectangle зберігає набір чотирьох цілих чисел, які представляють місце та розмір прямокутника. Клас Rectangle має кілька перевантажених конструкторів для малювання структури прямокутника з вказаним розміром та місцем розташування. Клас SolidBrush використовується для малювання неперервно зі специфічним кольором. Наприкінці зображення експортується у формат bmp файлу. У наступному фрагменті коду ви побачите, як малювати форму еліпса на поверхні зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Ellipse.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and Clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw a dotted ellipse shape by specifying the Pen object having red color and a surrounding Rectangle | |
graphic.DrawEllipse(new Pen(Color.Red), new Rectangle(30, 10, 40, 80)); | |
// Draw a continuous ellipse shape by specifying the Pen object having solid brush with blue color and a surrounding Rectangle | |
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Малювання Прямокутника
У цьому прикладі ми намалюємо форму прямокутника на поверхні зображення. Щоб продемонструвати операцію, приклад створює нове зображення та малює форму прямокутника на поверхні зображення, використовуючи метод DrawRectangle, доступний у класі Graphics. Спочатку ми створимо PsdImage, вказавши його висоту та ширину. Потім ми встановимо колір фону зображення використовуючи метод Clear класу Graphics.
Метод DrawRectangle класу Graphics використовується для малювання форми прямокутника на поверхні зображення, вказану прямокутною структурою. Цей метод має кілька варіантів завантажень, що приймають екземпляри класів Pen та Rectangle/RectangleF або пару координат, ширину та висоту як аргументи. Клас Rectangle зберігає набір чотирьох цілих чисел, які представляють місце та розмір прямокутника. Клас Rectangle має кілька перевантажених конструкторів для малювання структури прямокутника з вказаним розміром та місцем розташування. Наприкінці зображення експортується у формат bmp файлу. У наступному фрагменті коду ви побачите, як малювати форму прямокутника на поверхні зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Rectangle.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class, Clear Graphics surface, Draw a rectangle shapes and save all changes. | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
graphic.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80)); | |
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Малювання Дуги
У цій сесії серії малювання форм ми малюватимемо форму дуги на поверхні зображення. Ми використаємо метод DrawArc класу Graphics, щоб продемонструвати операцію на зображенні BMP. Спочатку ми створимо PsdImage, вказавши його висоту та ширину. Після створення зображення ми використаємо метод Clear, відкритий в класі Graphics, щоб встановити колір фону зображення.
Метод DrawArc класу Graphics використовується для малювання форми дуги на поверхні зображення. DrawArc представляє частину еліпса, вказану структурою прямокутника або парою координат. Цей метод має кілька варіантів завантажень, що приймають екземпляри класів Pen та Rectangle/RectangleF або пару координат, ширину та висоту як аргументи. Наприкінці зображення експортується у формат bmp файлу. У наступному фрагменті коду ви побачите, як малювати форму дуги на поверхні зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Arc.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw an arc shape by specifying the Pen object having red black color and coordinates, height, width, start & end angles | |
int width = 100; | |
int height = 200; | |
int startAngle = 45; | |
int sweepAngle = 270; | |
// Draw arc to screen and save all changes. | |
graphic.DrawArc(new Pen(Color.Black), 0, 0, width, height, startAngle, sweepAngle); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Малювання Безьє
Цей приклад використовує клас Graphics для малювання фігури Безьє на поверхні зображення. Щоб продемонструвати операцію, приклад створює нове зображення та малює фігуру Безьє на поверхні зображення за допомогою методу DrawBezier, доступного у класі Graphics. Спочатку ми створимо PsdImage, вказавши його висоту та ширину. Після створення зображення ми використовуємо метод Clear, відкритий в класі Graphics, щоб встановити колір фону зображення.
Метод DrawBezier класу Graphics використовується для малювання форми кривої Безьє на поверхні зображення, визначеної чотирма структурами Point. Цей метод має кілька варіантів завантажень, що приймають екземпляри класу Pen та чотири упорядковані пари координат або чотири структури Point/PointF або масив структур Point/PointF як аргументи. Клас Pen визначає об’єкт, що використовується для малювання ліній, кривих та фігур. У класі Pen є кілька перевантажених конструкторів для малювання ліній з вказаним кольором, шириною та кистю. Наприкінці зображення експортується у формат bmp файлу. У наступному фрагменті коду ви побачите, як малювати фігуру Безьє на поверхні зображення.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Bezier.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Initializes the instance of PEN class with black color and width | |
Pen BlackPen = new Pen(Color.Black, 3); | |
float startX = 10; | |
float startY = 25; | |
float controlX1 = 20; | |
float controlY1 = 5; | |
float controlX2 = 55; | |
float controlY2 = 10; | |
float endX = 90; | |
float endY = 25; | |
// Draw a Bezier shape by specifying the Pen object having black color and co-ordinate Points and save all changes. | |
graphic.DrawBezier(BlackPen, startX, startY, controlX1, controlY1, controlX2, controlY2, endX, endY); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Малювання зображень за допомогою основного функціоналу
Aspose.PSD - це бібліотека, яка пропонує багато корисних можливостей, включаючи створення зображень з нуля. Малюйте з використанням основного функціоналу, такого як маніпулювання інформацією про бітову карту зображення або використовуйте розширені можливості, такі як Graphics та GraphicsPath для малювання форм на поверхні зображення за допомогою різних щіток та кистей. За допомогою класу RasterImage Aspose.PSD ви можете отримати інформацію про пікселі області зображення та маніпулювати нею. Клас RasterImage містить всі основні функції малювання, такі як отримання та встановлення пікселів та інші методи для маніпулювання зображенням. Створіть нове зображення з використанням будь-якого з методів, описаних у створенні файлів і призначте його екземпляру класу RasterImage. Використовуйте метод LoadPixels класу RasterImage для отримання інформації про пікселі певної області зображення. Після того як у вас є масив пікселів, ви можете маніпулювати ним, наприклад, змінюючи кожен піксель. Після маніпулювання і