Hi
Ich habe ein BufferedImage, möglicherweise vom Typ RGB (also ohne A[lpha]). Nun soll das komplette Bild transparent in Graphics gezeichnet werden. Die Transparenz ändert sich ständig (ca. alle 50 Millisekunden), es ist also nicht zwingend notwendig das BufferedImage selbst abzuändern.
Die Preisfrage ist, wie bewerkstellige ich das am einfachsten/schnellsten?
An sich würde ich jedes mal das komplette Bild in ein BufferedImage Typ RGBA kopieren, getRaster, und setPixel anwenden, wobei ich über eine Bittverschiebung für jeden Pixel einzeln die Transparenz neu berechne. Abschließend müsste es dann über drawImage gemalt werden. Dies scheint mir jedoch ziehmlich aufwendig und (durch das Kopieren des Bildes) nicht besonders leistungsfähig zu sein.
Kennt jemand noch eine bessere Variante? Gibt es überhaupt eine bessere?
MfG thomy800
Ich habe ein BufferedImage, möglicherweise vom Typ RGB (also ohne A[lpha]). Nun soll das komplette Bild transparent in Graphics gezeichnet werden. Die Transparenz ändert sich ständig (ca. alle 50 Millisekunden), es ist also nicht zwingend notwendig das BufferedImage selbst abzuändern.
Die Preisfrage ist, wie bewerkstellige ich das am einfachsten/schnellsten?
An sich würde ich jedes mal das komplette Bild in ein BufferedImage Typ RGBA kopieren, getRaster, und setPixel anwenden, wobei ich über eine Bittverschiebung für jeden Pixel einzeln die Transparenz neu berechne. Abschließend müsste es dann über drawImage gemalt werden. Dies scheint mir jedoch ziehmlich aufwendig und (durch das Kopieren des Bildes) nicht besonders leistungsfähig zu sein.
Kennt jemand noch eine bessere Variante? Gibt es überhaupt eine bessere?
MfG thomy800