Menggambar Gambar
Menggambar Garis
Contoh ini menggunakan kelas Graphics untuk menggambar bentuk garis pada permukaan Gambar. Untuk mendemonstrasikan operasi tersebut, contoh ini membuat Gambar baru dan menggambar garis pada permukaan Gambar menggunakan metode DrawLine yang diperlihatkan oleh kelas Graphics. Pertama, kita akan membuat PsdImage dengan menyebutkan tinggi dan lebar.
Setelah gambar telah dibuat, kita akan menggunakan metode Clear yang diperlihatkan oleh kelas Graphics untuk mengatur warna latar belakangnya. Metode DrawLine dari kelas Graphics digunakan untuk menggambar garis pada gambar yang menghubungkan dua struktur titik. Metode ini memiliki beberapa overload yang menerima instance dari kelas Pen dan pasangan koordinat titik atau struktur Point/PointF sebagai argumen. Kelas Pen mendefinisikan objek yang digunakan untuk menggambar garis, kurva, dan bentuk. Kelas Pen memiliki beberapa konstruktor yang digunakan untuk menggambar garis dengan warna, lebar, dan kuas yang ditentukan. Kelas SolidBrush digunakan untuk menggambar secara kontinu dengan warna tertentu. Terakhir, gambar diekspor ke format file BMP. Potongan kode berikut menunjukkan cara menggambar bentuk garis pada permukaan Gambar.
String dataDir = Utils.getDataDir(DrawingLines.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Lines.bmp"; | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Draw two dotted diagonal lines by specifying the Pen object having blue color and co-ordinate Points | |
graphic.drawLine(new Pen(Color.getBlue()), 9, 9, 90, 90); | |
graphic.drawLine(new Pen(Color.getBlue()), 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.getRed())), new Point(9, 9), new Point(9, 90)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getAqua())), new Point(9, 90), new Point(90, 90)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getBlack())), new Point(90, 90), new Point(90, 9)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getWhite())), new Point(90, 9), new Point(9, 9)); | |
image.save(outpath, saveOptions); | |
} |
Menggambar Elips
Contoh menggambar elips adalah artikel kedua dalam seri menggambar bentuk. Kita akan menggunakan kelas Graphics untuk menggambar bentuk elips pada permukaan Gambar. Untuk mendemonstrasikan operasi tersebut, contoh ini membuat Gambar baru dan menggambar bentuk elips pada permukaan Gambar menggunakan metode DrawEllipse yang diperlihatkan oleh kelas Graphics. Pertama, kita akan membuat PsdImage dengan menyebutkan tinggi dan lebar.
Setelah membuat gambar, kita akan membuat dan menginisialisasi objek kelas Graphics dan mengatur warna latar belakang gambar menggunakan metode Clear dari kelas Graphics. Metode DrawEllipse dari kelas Graphics digunakan untuk menggambar bentuk elips pada permukaan gambar yang ditentukan oleh struktur persegi panjang pembatas. Metode ini memiliki beberapa overload yang menerima instance kelas Pen dan Rectangle/RectangleF atau pasangan koordinat, tinggi, dan lebar sebagai argumen. Kelas Pen mendefinisikan objek yang digunakan untuk menggambar garis, kurva, dan bentuk. Kelas Pen memiliki beberapa konstruktor yang digunakan untuk menggambar garis dengan warna, lebar, dan kuas yang ditentukan. Kelas Rectangle menyimpan serangkaian empat bilangan bulat yang mewakili lokasi dan ukuran sebuah persegi panjang. Kelas Rectangle memiliki beberapa konstruktor overload yang digunakan untuk menggambar struktur persegi panjang dengan ukuran dan lokasi yang ditentukan. Kelas SolidBrush digunakan untuk menggambar secara kontinu dengan warna tertentu. Terakhir, gambar diekspor ke format file BMP. Potongan kode berikut menunjukkan cara menggambar bentuk elips pada permukaan Gambar.
String dataDir = Utils.getDataDir(DrawingEllipse.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Ellipse.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Draw a dotted ellipse shape by specifying the Pen object having red color and a surrounding Rectangle | |
graphic.drawEllipse(new Pen(Color.getRed()), 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.getBlue())), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Menggambar Persegi Panjang
Pada contoh ini, kita akan menggambar bentuk persegi panjang pada permukaan Gambar. Untuk mendemonstrasikan operasi tersebut, contoh ini membuat Gambar baru dan menggambar bentuk persegi panjang pada permukaan Gambar menggunakan metode DrawRectangle yang diperlihatkan oleh kelas Graphics. Pertama, kita akan membuat PsdImage dengan menyebutkan tinggi dan lebar. Kemudian, kita akan mengatur warna latar belakang Gambar dengan menggunakan metode Clear dari kelas Graphics.
Metode DrawRectangle dari kelas Graphics digunakan untuk menggambar bentuk persegi panjang pada permukaan gambar yang ditentukan oleh struktur persegi panjang. Metode ini memiliki beberapa overload yang menerima instance kelas Pen dan Rectangle/RectangleF atau pasangan koordinat, lebar, dan tinggi sebagai argumen. Kelas Rectangle menyimpan serangkaian empat bilangan bulat yang mewakili lokasi dan ukuran suatu persegi panjang. Kelas Rectangle memiliki beberapa konstruktor overload yang digunakan untuk menggambar struktur persegi panjang dengan ukuran dan lokasi yang ditentukan. Terakhir, gambar diekspor ke format file BMP. Potongan kode berikut menunjukkan cara menggambar bentuk persegi panjang pada permukaan Gambar.
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Rectangle.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
graphic.drawRectangle(new Pen(Color.getRed()), new Rectangle(30, 10, 40, 80)); | |
graphic.drawRectangle(new Pen(new SolidBrush(Color.getBlue())), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Menggambar Busur
Dalam sesi ini dari seri menggambar bentuk, kita akan menggambar bentuk Busur pada permukaan Gambar. Kita akan menggunakan metode DrawArc dari kelas Graphics untuk mendemonstrasikan operasi pada gambar BMP. Pertama, kita akan membuat PsdImage dengan menyebutkan tinggi dan lebar. Setelah gambar telah dibuat, kita akan menggunakan metode Clear yang diperlihatkan oleh kelas Graphics untuk mengatur warna latar belakangnya.
Metode DrawArc dari kelas Graphics digunakan untuk menggambar bentuk Busur pada permukaan gambar. DrawArc merepresentasikan bagian dari elips yang ditentukan oleh struktur persegi panjang atau pasangan koordinat. Metode ini memiliki beberapa overloading yang menerima instance kelas Pen dan struktur Rectangle/RectangleF atau pasangan koordinat, lebar, dan tinggi sebagai argumen. Terakhir, gambar diekspor ke format file BMP. Potongan kode berikut menunjukkan cara menggambar bentuk Busur pada permukaan Gambar.
String dataDir = Utils.getDataDir(DrawingArc.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Arc.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// 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.getBlack()), 0, 0, width, height, startAngle, sweepAngle); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Menggambar Bezier
Contoh ini menggunakan kelas Graphics untuk menggambar bentuk Bezier pada permukaan Gambar. Untuk mendemonstrasikan operasi tersebut, contoh ini membuat Gambar baru dan menggambar bentuk Bezier pada permukaan Gambar menggunakan metode DrawBezier yang diperlihatkan oleh kelas Graphics. Pertama, kita akan membuat PsdImage dengan menyebutkan tinggi dan lebar. Setelah gambar telah dibuat, kita akan menggunakan metode Clear yang diperlihatkan oleh kelas Graphics untuk mengatur warna latar belakangnya.
Metode DrawBezier dari kelas Graphics digunakan untuk menggambar bentuk spline Bezier pada permukaan gambar yang didefinisikan oleh empat struktur Point. Metode ini memiliki beberapa overloading yang menerima instance kelas Pen dan empat pasangan koordinat terurut atau empat struktur Point/PointF atau array dari struktur Point/PointF. Kelas Pen mendefinisikan objek yang digunakan untuk menggambar garis, kurva, dan bentuk. Kelas Pen memiliki beberapa konstruktor yang digunakan untuk menggambar garis dengan warna, lebar, dan kuas yang ditentukan. Terakhir, gambar diekspor ke format file BMP. Potongan kode berikut menunjukkan cara menggambar bentuk Bezier pada permukaan Gambar.
String dataDir = Utils.getDataDir(DrawingBezier.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Bezier.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Initializes the instance of PEN class with black color and width | |
Pen BlackPen = new Pen(Color.getBlack(), 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); | |
} |
Menggambar Gambar dengan Fungsionalitas Inti
Aspose.PSD adalah sebuah pustaka yang menawarkan banyak fitur berharga termasuk membuat gambar dari awal. Menggambar menggunakan fungsionalitas inti seperti memanipulasi informasi bitmap gambar, atau menggunakan fitur lanjutan seperti Graphics dan GraphicsPath untuk menggambar bentuk-bentuk pada permukaan gambar dengan bantuan kuas dan pena yang berbeda. Dengan menggunakan kelas RasterImage dari Aspose.PSD, Anda dapat mengambil informasi piksel area gambar, memanipulasinya. Kelas RasterImage mengandung seluruh fungsionalitas inti gambar, seperti mendapatkan dan mengatur piksel serta metode lain untuk memanipulasi gambar. Buat gambar baru menggunakan salah satu metode yang dijelaskan dalam Membuat Berkas dan berikan ke instansi kelas RasterImage. Gunakan metode LoadPixels dari kelas RasterImage untuk mengambil informasi piksel dari bagian gambar. Setelah Anda memiliki array piksel, Anda dapat memanipulasinya dengan, misalnya, mengubah warna setiap piksel. Setelah memanipulasi informasi piksel, aturlah kembali ke area yang diinginkan dalam gambar menggunakan metode SavePixels dari kelas RasterImage. Potongan kode berikut menunjukkan cara menggambar gambar dengan fungsionalitas inti.
String dataDir = Utils.getDataDir(CoreDrawingFeatures.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String loadpath = dataDir + "sample.psd"; | |
String outpath = dataDir + "CoreDrawingFeatures.bmp"; | |
// Create an instance of Image | |
try (PsdImage image = new PsdImage(loadpath)) { | |
// load pixels | |
int[] pixels = image.loadArgb32Pixels(new Rectangle(0, 0, 100, 10)); | |
for (int i = 0; i < pixels.length; i++) { | |
// specify pixel color value (gradient in this case). | |
pixels[i] = i; | |
} | |
// save modified pixels. | |
image.saveArgb32Pixels(new Rectangle(0, 0, 100, 10), pixels); | |
// export image to bmp file format. | |
image.save(outpath, new BmpOptions()); | |
} |