Y at-il plus rapide pour obtenir un rembourrage de pixels à un BufferedImage que le dessin centré sur BufferedImage plus?rembourrage Java BufferedImage
Répondre
BufferedImage a un constructeur où vous obtenez de spécifier un WriteableRaster.
cueillette à la une image en mémoire tampon par défaut, le stockage de chaque pixel dans un int, on utilise un IntegerInterleavedRaster.
Le modèle colorimétrique vous pouvez utiliser ColorModel.getRGBDefault().
int imageWidth = 638, imageHeight = 480;
int dataImageWidth = 640;
SampleModel sm = new SinglePixelPackedSampleModel(TYPE_INT, imageWidth, imageHeight, dataImageWidth, new int[] { 0xff0000, 0xff00, 0xff });
DataBuffer db = new DataBufferInt(dataImageWidth * imageHeight);
WritableRaster r = Raster.createWritableRaster(sm, db, new Point());
BufferedImage image = new BufferedImage(ColorModel.getRGBDefault(), r, false, null);
Indication du scanlineStride en SinglePixelPackedSampleModel (avant-dernier paramètre).
Une autre approche beaucoup plus simple est d'utiliser la méthode de getSubimage BufferedImage.
BufferedImage fullImage = new BufferedImage(dataImageWidth, imageHeight);
BufferedImage subImage = fullImage.getSubimage(0, 0, imageWidth, imageHeight);
de reporter le centrage rendu jusqu'à, j'aime ce approach en raison de finnw, où this
est un composant approprié:
private BufferedImage image;
....
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.translate(this.getWidth()/2, this.getHeight()/2);
g2d.translate(-image.getWidth()/2, -image.getHeight()/2);
g2d.drawImage(image, 0, 0, null);
}
Créer un ImageIcon en utilisant le BufferedImage et ajouter l'icône à un JLabel. Ensuite, vous pouvez simplement ajouter une bordure à l'étiquette pour obtenir le rembourrage désiré.
- 1. BufferedImage to BMP in Java
- 2. Java: VolatileImage plus lent que BufferedImage
- 3. Java vérifier si BufferedImage est un GIF
- 4. BufferedImage dans IKVM
- 5. BufferedImage Rotation
- 6. chargement BufferedImage avec ClassLoader.getResource()
- 7. Définir le masque alpha de BufferedImage en Java
- 8. Java Convertir ColorSpace de BufferedImage à CS_GRAY sans utiliser ConvertColorOp
- 9. Ajuster la luminosité et le contraste de BufferedImage en Java
- 10. Comment remplacer les couleurs dans BufferedImage dans JAVA
- 11. BufferedImage imageType in swing
- 12. rembourrage pcks5
- 13. C# RSA sans rembourrage
- 14. Transformation de l'objet Image en objet BufferedImage
- 15. Transparence dans les objets bufferedimage
- 16. Calcul rgb vals pour BufferedImage
- 17. Rendu à BufferedImage dans Java3D
- 18. Grails: écrire BufferedImage en réponse
- 19. Rembourrage sur StackPanel?
- 20. WPF ComboBox rembourrage
- 21. Rembourrage Dynamic (jQuery)
- 22. Rembourrage de bande XSL
- 23. Rembourrage de problème
- 24. rembourrage dans asp.net
- 25. IE7 rembourrage supplémentaire/marge
- 26. Rembourrage dans UITextField
- 27. hadoop inputFile en tant que BufferedImage
- 28. Problèmes lors de la rotation de BufferedImage
- 29. Ecrit en 16 bits BufferedImage TYPE_USHORT_GRAY
- 30. Création d'une texture JOGL d'un BufferedImage
est le rembourrage uniquement à des fins d'affichage ou avez-vous besoin de créer une nouvelle image rembourrée? – objects
ceci est principalement pour générer une nouvelle image rembourrée, pas simplement le rendre. – m0s