graph 2d en java (soucis avec extends de java.awt.Image) - Java - Programmation
Marsh Posté le 25-03-2003 à 11:28:24
En fait j'ai du mal a comprendre pkoi tu veux(peux) pas utiliser Graphics ?
Marsh Posté le 25-03-2003 à 11:32:14
bobuse a écrit : En j'ai du mal a comprendre pkoi tu veux pas utiliser Graphics ? |
ca n'est pas que je ne veux pas, c'est que je ne peux pas. Le seul Graphics dont je dispose est celui de la JVM 1.1.8, qui est tres limite en terme de fonctionnalite (rien a voir avec celui du Graphics2D. Mais vu que ce dernier n'est dispo qu'a partir de la JVM 1.2 et que je dois rester a la 1.1.8, ben tant pis).
Par exemple le graphics ne te permet que de remplir des formes avec une couleur unie tandis que moi j'ai besoin de degrade, alpha blending et meme peut etre de l'anti aliasing => Graphics KO
(et par ailleurs, je trouve qu'il donne de sales resultats)
edit : fautes + desole pour le manque d'accent mais sur clavier allemand c vraiment la misere...
Marsh Posté le 25-03-2003 à 11:38:01
chrisbk a écrit : |
Ha ouais ... et ya pas moyen de récupérer un jar d'un ersatz (et hop du deutsch) de Graphics2D ? remarques c'est peut-etre ce que tu cherches
Marsh Posté le 25-03-2003 à 11:43:08
je viens de me rapeller de la lib openPTC de ma folle jeunesse en 2d, elle avait un port java, vais voir ca de plus pres
Marsh Posté le 30-04-2003 à 12:38:13
grml, qqun a deja derivé sa propre classe de java.awt.Image ?
Marsh Posté le 30-04-2003 à 13:35:47
je m'explique :
pour le moment je trace dans un tableau de int[]. bon. Pour l'affichagem je recopie ce tableau dans un Image, puis je balance a l'ecran via un Graphics.drawImage(..)
le truc, c que la recopie dans Image prends environ 350ms, soit bpc trop. Me suis donc dit, petit malin, plutot que de recopier dans un Image je me fais ma propre classe Image et j'envoie celle ci au graphics.
Vala donc le resultat :
Code :
|
(le but etant pour le moment de voir quelles sont les fonctions que Graphics appelent lors du drawImage(...)
A l'exec, je vois que seules les fonctions getHeight/getWidth sont appelees, et apres drawImage retourne en renvoyant false. Ca me fait les pieds. La javadoc me dit a ce propos :
Citation : If the image has not yet been completely loaded, then drawImage returns false. As more of the image becomes available, the process that draws the image notifies the specified image observer. |
ce qui me fait aussi les pieds. Bref, qu'est ce qu'il se passe ? qu'est ce qu'ils veulent dire par "completely loaded" ? Pkoi ma fausse image n'est pas consideree comme "completely loaded" ?
Marsh Posté le 30-04-2003 à 16:10:53
si je me trompe pas, Image est une classe abstraite, donc y a surement mille choses a implementer pour pouvoir afficher koi ke ce soit
Marsh Posté le 30-04-2003 à 16:12:00
souk a écrit : si je me trompe pas, Image est une classe abstraite, donc y a surement mille choses a implementer pour pouvoir afficher koi ke ce soit |
beh non justement, j'ai repris toute les methodes donnees dans la javadoc (?). Et vu que je peux instancier ma classe c donc que je n'en ait oublié aucune (abstract du moins)
(thks pour le up quand meme )
Marsh Posté le 25-03-2003 à 11:14:19
bon, dans le cadre de la cause et afin d'atteindre des resultats tant voulu qu'escompter, je dois pouvoir etre en mesure de dessiner rapidement des formes geometriques a l'ecran.
Le probleme est que je suis limite a la JVM 1.1.8 (ou anterieur), et que la classe Graphics disponible se chargeant d'habitude de ce genre de sport ne correspond pas a mes besoins par manque de fonctionnalite.
Ma question donc : comment faire du graph 2d rapide ? Pour le moment je plotte mes pixels un a un via BufferedImage::setPixel mais bon, un appel de fonction par pixel c'est pas le mieux, quand meme (la machine cible n'etant pas exactement un monstre de puissance, faire l'economie de l'appel de fonction par pixel ne me parait pas etre inutile) .
Des idees / tactiques ?
thks
Message édité par chrisbk le 30-04-2003 à 13:36:18