PDA

View Full Version : [Frage] Hilfe


nexus
29-01-2003, 18:48
Kann uns bitte wer den folgenden Code erklären (von den Folien zu Java 2D):
.
.
.
int pixelData = ((int)((data[offBuffer] & redMask) * (1 -alphaChannel ) +
(imgArray[offImg] & 0x000000ff) * ( alphaChannel ))) & redMask;
pixelData += (( int)((data[offBuffer ] & greenMask) * (1 -alphaChannel ) +
(imgArray[offImg] & 0x0000ff00) * (alphaChannel))) & greenMask;
pixelData += (( int)((data[offBuffer ] & blueMask) * (1 -alphaChannel ) +
(imgArray[offImg] & 0x00ff0000) * (alphaChannel ))) & blueMask;
data[offBuffer] = (byte)pixelData;
.
.
.
sollte doch ein jpeg bild über ein frame aus dem video legen, oder?
welchen wert muß der alphaChannel haben?

vielen dank
d+x

Filz
29-01-2003, 23:19
sollte zwischen 0 und 1 liegen, 0=JPEG ist unsichtbar, 1= Nur JPEG ist sichtbar

Bruno
29-01-2003, 23:44
sagts mal, vielleicht irr ich mich ja, aber soweit ich mich erinnern kann, hat ein jpeg doch gar keinen alphachannel, oder?

lifelikebmx
29-01-2003, 23:58
es handelt sich in dieser form ja nur noch um rawImgData aus dem BufferedImage und aus dem inBuffer, es werden mit dem "alphawert" = die helligkeit des effekts eben diese im gewünschten verhältnis übereinander gelegt - möchte man nur den effekt sehen (also intensität = 1) dann fällt der inData-Anteil weg

------------------------------------------------------------------------------
www.lifelikebmx.com
Die Vorstellung, dass die allermeisten Soldaten reine Empfänger der Befehle einiger weniger Vorgesetzter sind, hat mit der Wirklichkeit nichts gemein.

Xandolph
30-01-2003, 12:40
Hallo ich verstehs nicht aber der Code funktioniert einfach nicht, egal was ich für einen wert für den AlphaChannel setze, man sieht immer nur das Video und nix vom Bild. Das Bild les ich so ein:

public void open() {
try {
JPEGImageDecoder decoder=JPEGCodec.createJPEGDecoder (new FileInputStream ("Rocket.jpg"));
BufferedImage theImg=decoder.decodeAsBufferedImage();
imgArray = theImg.getRGB(0, 0,imgWidth,imgHeight,null,0, imgWidth);

}catch (Exception e) {System.out.println("Exception: " + e);}

Kann es vielleicht daran liegen, daß wie ein byteArray verwenden für die Buffer (auf den Folien nehmens ein intArray aber damit wirft das Programm immer eine Exception.)??

Bitte um Hilfe
Danke im voraus
Xandi

Xandolph
30-01-2003, 12:46
Hallo ich verstehs nicht aber der Code funktioniert einfach nicht, egal was ich für einen wert für den AlphaChannel setze, man sieht immer nur das Video und nix vom Bild. Das Bild les ich so ein:

public void open() {
try {
JPEGImageDecoder decoder=JPEGCodec.createJPEGDecoder (new FileInputStream ("Rocket.jpg"));
BufferedImage theImg=decoder.decodeAsBufferedImage();
imgArray = theImg.getRGB(0, 0,imgWidth,imgHeight,null,0, imgWidth);

}catch (Exception e) {System.out.println("Exception: " + e);}

Kann es vielleicht daran liegen, daß wie ein byteArray verwenden für die Buffer (auf den Folien nehmens ein intArray aber damit wirft das Programm immer eine Exception.)??

Bitte um Hilfe
Danke im voraus
Xandi