J'ai un BufferedImage transparent créé avec le code suivant (pas pertinent comment il est créé, je pense):Effacer Un BufferedImage transparent aussi vite que possible
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
Rectangle screen = transformationContext.getScreen();
// Create an image that supports transparent pixels
return gc.createCompatibleImage((int) screen.getWidth(), (int) screen.getHeight(),
Transparency.BITMASK);
Comment effacer l'image (l'image vide le même état qu'il a été créé) de la manière la plus rapide possible sans recréer l'image? Recréer l'image fait peser un fardeau sur GC, interrompant la machine virtuelle et gelant l'interface utilisateur.
'clearRect' est dit être obsolète depuis 1.1 bien qu'il ne soit pas étiqueté comme tel (peut-être parce que les annotations n'existaient pas encore?). La méthode préférée est maintenant: 'graphics.setComposite (AlphaComposite.Clear); graphics.fillRect (0, 0, TAILLE, TAILLE); graphics.setComposite (AlphaComposite.SrcOver); '(en supposant que SrcOver était le composite que vous utilisiez avant, et est le paramètre par défaut). Ceci est en fait proche de l'implémentation de' clearRect'. –
il n'y a pas d'étiquette de dépréciation dans le doc java, donc je présume qu'il est toujours valide –
@ adrian.tarau c'est à quoi il fait référence; annotations. Les javadocs sont générés automatiquement; puisque l'annotation '@ Deprecated' ne figure pas dans le code (elle n'existait pas encore) alors elle n'était pas dans les javadocs. – Qix