2016-05-18 14 views
0

ребята!Обрезание изображения многоугольника из jpeg изображения Java

У меня есть некоторые проблемы. Мне нужно вырезать изображение многоугольника из jpg-изображения и сохранить его. В этот момент я использую OpenSlideJNI.openslide_read_region, но OpenSlide может обрезать единственный прямоугольник.

У вас есть идея?

ответ

2

Основной код будет:

// load the image 

BufferedImage originalImage = ImageIO.read(...); 

// create the polygon 

Polygon polygon = new Polygon(); 
polygon.addPoint(50, 50); 
polygon.addPoint(150, 50); 
polygon.addPoint(250, 150); 
polygon.addPoint(150, 150); 

Rectangle bounds = polygon.getBounds(); 

// create a transparent clipped image based on the bounds of the Polygon 

BufferedImage clippedImage = new BufferedImage(bounds.width, bounds.height, BufferedImage.TYPE_INT_ARGB); 
Graphics2D g = clippedImage.createGraphics(); 

polygon.translate(-bounds.x, -bounds.y); 
g.setClip(polygon); 
g.drawImage(originalImage, -bounds.x, -bounds.y, null); 

// save the clipped image 

ImageIO.write(...); 

Конечно изображение будет все еще иметь прямоугольную форму, но не являющиеся обрезанные области будут прозрачными.

 Смежные вопросы

  • Нет связанных вопросов^_^