Un raster d'image est une conversion de l'image en image bitmap c'est bien ça ?
en gros oui. Le bitmap est une image raster. (image matricielle en français).
Je ne fais qu'afficher l'image (est-ce ça que tu appelle dessiner l'image ?)
OUI ! pour dessiner une image avec java (API standard) tu passe toujours par un raster (matrice de pixel). dans la méthode paint(Graphics g) par exemple cette matrice c'est des pixels de ton écran.
du coup je ne vois pas trop comment récupérer les primitives de cette image
En fait dépendamment de la précision que tu veut, tu n'a pas besoin de les récupérer justement : si tu demande a java "d'afficher" dans une BufferedImage a la place de ton écran, et que tu lui précise de faire ça grand (tu peu très bien "afficher" ça en 4000*2000, voir plus). Tu devrai obtenir une belle image pleine de pixel que tu n'a plus qu'a redimensionner avec le code suivant par exemple (a adapter):
1 2 3 4 5
|
paint(Graphics g){
AffineTransform at = AffineTransform.getScaleInstance(wScale,hScale);
g.drawRenderedImage(bi, at);
} |
EDIT : pour eviter que ca soit moche il faut definir l'interpollation du scaling :
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
en général j'utilise du bilinéaire pour une BILINEAR et BICUBIC pour un agrandissement.
Partager