Resim Çizme

Çizgi Çizme

Bu örnek, Çizim sınıfını kullanarak Resim yüzeyinde çizgi şekillerini çizmek için kullanır. İşlemi göstermek için örnek, yeni bir Resim oluşturur ve Çizim sınıfı tarafından maruz bırakılan DrawLine yöntemini kullanarak Resim yüzeyinde çizgiler çizer. İlk olarak, yüksekliği ve genişliği belirterek bir PsdResim oluşturacağız.

Resim oluşturulduktan sonra, arka plan rengini belirlemek için Çizim sınıfı tarafından maruz bırakılan Clear yöntemini kullanacağız. Çizim sınıfının DrawLine yöntemi, iki nokta yapısını birleştiren bir çizgi çizmek için kullanılır. Bu yöntem, nokta yapısı veya Point/PointF yapıları çiftleri ile kalem sınıfının örneğini ve koordinat çiftlerini kabul eden birkaç aşırı yüklüye sahiptir. Kalem Sınıfı, çizgi, eğri ve şekilleri çizmek için kullanılan bir nesneyi tanımlar. Kalem sınıfı, belirtilen renk, genişlik ve fırça ile çizgi çizmek için birkaç aşırı yüklemeli yapıcıya sahiptir. SolidBrush sınıfı belirli bir renkle sürekli çizim yapmak için kullanılır. Son olarak, resim BMP dosya formatına dışa aktarılır. Aşağıdaki kod parçası, Resim yüzeyinde çizgi şekillerini nasıl çizeceğinizi gösterir.

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);
}

Elips Çizme

Elips çizme örneği, çizgi şekilleri serisindeki ikinci makaledir. Resim yüzeyinde elips şeklini çizmek için Çizim sınıfını kullanacağız. İşlemi göstermek için örnek, yeni bir Resim oluşturur ve elips şeklini Resim yüzeyine Çizim sınıfı tarafından maruz bırakılan DrawEllipse yöntemini kullanarak çizer. İlk olarak, yüksekliği ve genişliği belirterek bir PsdResim oluşturacağız.

Resim oluşturulduktan sonra, Resim yüzeyi üzerinde elips şekli çizmek için Çizim sınıfı nesnesini oluşturacak ve başlangıç ​​rengini belirleyeceğiz. Çizim sınıfının DrawEllipse yöntemi, belirli bir dikdörtgen yapısı tarafından belirtilen Resim yüzeyinde elips şekli çizmek için kullanılır. Bu yöntem, Kalem ve Rectangle/RectangleF sınıflarının örneklerini veya koordinat çiftlerini, bir yükseklik ve bir genişliği argüman olarak kabul eder. Kalem sınıfı, çizgi, eğri ve şekilleri çizmek için kullanılan bir nesneyi tanımlar. Kalem sınıfı, belirtilen renk, genişlik ve fırça ile çizgi çizmek için birkaç aşırı yüklemeli yapıcıya sahiptir. Rectangle sınıfı, bir dikdörtgenin konumunu ve boyutunu temsil eden dört tam sayı kümesini depolar. Rectangle sınıfı, belirtilen boyut ve konumla dikdörtgen yapısını çizmek için birkaç aşırı yüklemeli yapıcıya sahiptir. SolidBrush sınıfı belirli bir renkle sürekli çizim yapmak için kullanılır. Son olarak, resim BMP dosya formatına dışa aktarılır. Aşağıdaki kod parçası, Resim yüzeyinde elips şeklini nasıl çizeceğinizi gösterir.

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);
}

Dikdörtgen Çizme

Bu örnekte, Resim yüzeyinde dikdörtgen şeklini çizeceğiz. İşlemi göstermek için örnek, yeni bir Resim oluşturur ve Çizim sınıfı tarafından maruz bırakılan DrawRectangle yöntemini kullanarak Resim yüzeyine dikdörtgen şekli çizer. İlk olarak, yüksekliği ve genişliği belirterek bir PsdResim oluşturacağız. Ardından, Çizim sınıfının Clear yöntemini kullanarak Resim yüzeyinin arka plan rengini ayarlayacağız.

Çizim sınıfının DrawRectangle yöntemi, belirli bir dikdörtgen yapısı tarafından belirtilen Resim yüzeyinde dikdörtgen şekli çizmek için kullanılır. Bu yöntem, Kalem ve Rectangle/RectangleF sınıflarının örneklerini veya koordinat çiftlerini, bir genişlik ve bir yükseklik argümanı olarak kabul eder. Rectangle sınıfı, bir dikdörtgenin konumunu ve boyutunu temsil eden dört tam sayı kümesini depolar. Rectangle sınıfı, belirtilen boyut ve konumla dikdörtgen yapısını çizmek için birkaç aşırı yüklemeli yapıcıya sahiptir. Son olarak, resim BMP dosya formatına dışa aktarılır. Aşağıdaki kod parçası, Resim yüzeyinde dikdörtgen şeklini nasıl çizeceğinizi gösterir.

// 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);
}

Yay Çizme

Bu çizgi şekli serisinin bu oturumunda, Resim yüzeyine Yay şeklini çizeceğiz. İşlemi BMP resmi üzerinde gerçekleştirmek için Graphics class’ın DrawArc yöntemini kullanacağız. İlk olarak, yüksekliği ve genişliği belirterek bir PsdResim oluşturacağız. Resim oluşturulduktan sonra, Resim yüzeyinin arka plan rengini belirlemek için Grafikler sınıfı tarafından maruz bırakılan Clear yöntemini kullanacağız.

Çizim sınıfının DrawArc yöntemi, Resim yüzeyinde Yay şeklini çizmek için kullanılır. DrawArc, dikdörtgen yapısı veya koordinat çifti tarafından belirtilen bir elipsin bir kısmını temsil eder. Bu yöntem, Kalem sınıflarının örneklerini ve Dikdörtgen/RectangleF yapısını veya koordinat çiftlerini, bir genişlik ve bir yükseklik argümanı olarak kabul eden birkaç aşırı yüklüye sahiptir. Son olarak, resim BMP dosya formatına dışa aktarılır. Aşağıdaki kod parçası, Resim yüzeyinde Yay şeklini nasıl çizeceğinizi gösterir.

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);
}

Bezier Çizme

Bu örnek, Çizim sınıfını kullanarak Resim yüzeyinde Bezier şeklini çizmek için kullanır. İşlemi göstermek için örnek, yeni bir Resim oluşturur ve Çizim sınıfı tarafından maruz bırakılan DrawBezier yöntemini kullanarak Resim yüzeyine Bezier şeklini çizer. İlk olarak, yüksekliği ve genişliği belirterek bir PsdResim oluşturacağız. Resim oluşturulduktan sonra, Çizim sınıfı tarafından maruz bırakılan Clear yöntemini kullanacağız ve arka plan rengini belirleyeceğiz.

Çizim sınıfının DrawBezier yöntemi, dört Nokta yapısı tarafından belirtilen Resim yüzeyinde Bezier spline şeklini çizmek için kullanılır. Bu yöntem, kalem sınıfının örneklerini ve dört sıralı koordinat çiftini veya dört Nokta/PointF yapılarını veya Nokta/PointF yapılarını kabul eden bir dizi yüklüye sahiptir. Kalem sınıfı, çizgi, eğri ve şekilleri çizmek için kullanılan bir nesneyi tanımlar. Kalem sınıfı, belirtilen renk, genişlik ve fırça ile çizgi çizmek için birkaç aşırı yüklü yapıcıya sahiptir. Son olarak, resim BMP dosya formatına dışa aktarılır. Aşağıdaki kod parçası, Resim yüzeyinde Bezier şeklini nasıl çizeceğinizi gösterir.

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);
}

Çekirdek Fonksiyonellik Kullanarak Resim Çizimleri

Aspose.PSD, birçok değerli özelliğin yanı sıra resimler oluşturma gibi birçok değerli özellik sunan bir kütüphanedir. Bir resmin piksel bilgilerini manipüle etme gibi çekirdek işlevleri kullanarak çizim yapın veya Grafikler ve Grafik Yolu gibi gelişmiş özellikleri ve farklı fırçalar ve kalemler kullanarak şekilleri resim yüzeyine çizin. Aspose.PSD’nin RasterImage sınıfını kullanarak, bir resim alanının piksel bilgilerini alıp manipüle edebilirsiniz. RasterImage sınıfı, tüm çekirdek çizim işlevselliğini içerir, pikselleri alma ve ayarlama ve resim manipülasyonu için diğer yöntemler gibi. Oluşturulan bir resmi, Oluşturma Dosyaları bölümünde açıklanan yöntemlerden herhangi birini kullanarak oluşturun ve bir RasterImage sınıf örneğine atayın. RasterImage sınıfının LoadPixels yöntemini kullanarak bir resmin bir bölümünün piksel bilgilerini alın. Bir piksel diziniz olduktan sonra, her pikselin rengini değiştirerek, örneğin, piksel bilgilerini işleyebilirsiniz. Piksel bilgilerini manipüle ettikten sonra, bunu RasterImage sınıfının SavePixels yöntemini kullanarak resimde istediğiniz alana geri kaydedin. Aşağıdaki kod parçası, çekirdek işlevselliği kullanarak resim çizme işlemini gösterir.

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());
}