Archief - [PROG][JAVA] Ongeloofelijk domme beginnersvraag -- Array naar Z/W afbeelding (GIF)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

The Crazy Noob

Legacy Member
Hoi,

Ik ben net begonnen met Java (heb de boek: "Volle kracht vooruit met JAVA in 37 lessen" gelezen) en heb nog geen praktische ervaring. Ik wil m'n eerste programma maken om fractalen te berekenen en in een GIF-afbeelding te zetten.
Ik zou de afbeelding renderen in een twee-dimensionele array (evt boolean omdat het toch zwart/wit zal zijn) en deze naar een GIF-afbeelding (of andere) willen exporteren. Ik heb al wat rond geneusd op het internet, maar in plaats van te vinden hoe ik concreet een array naar afbeelding converteer, vind ik enkel uitgebreide artikels en boeken over image-processing e.d. Ik moet dus gewoon weten hoe ik van een array een GIF-afbeelding exporteer.


Bedankt op voorhand

The Crazy Noob.

[BAT] Hydra

Legacy Member
Een array is een rij van elementen. Die elementen kunnen integers, doubles, chars, booleans, ... (primitieve types) of objecten zijn. Images hebben hier totaal niets mee te maken.

Als je een array naar een gif image wilt omzetten moet je eerst kiezen hoe je elk element van de array gaat representeren. Je kan een element eventueel textueel of grafisch representeren. Die representatie gebruik je dan in je gif image representatie van je array. Dit is helemaal niet eenvoudig en helemaal niets voor een beginner!

Kn0t

Legacy Member
Je zou het zo kunnen doen:
- je array aanmaken en opvullen (stel 0=wit, 1=zwart)
- BufferedImage aanmaken met afmetingen in pixels = de omvang van je array
- je image volledig wit kleuren
- itereren over je array en zo zwarte pixels tekenen op de juiste plaats op de BufferedImage
- je afbeelding kan je dan wegschrijven met ImageIO (ondersteunt echter wel geen gif export denk ik, wel png en jpeg).

Hoewel ik niet zie waarom de array tussenstap nodig is, je kan direct naar de BufferedImage renderen?

killgore

Legacy Member
[BAT] Hydra;8232908 zei:
Een array is een rij van elementen. Die elementen kunnen integers, doubles, chars, booleans, ... (primitieve types) of objecten zijn. Images hebben hier totaal niets mee te maken.

Als je een array naar een gif image wilt omzetten moet je eerst kiezen hoe je elk element van de array gaat representeren. Je kan een element eventueel textueel of grafisch representeren. Die representatie gebruik je dan in je gif image representatie van je array. Dit is helemaal niet eenvoudig en helemaal niets voor een beginner!

note: hij sprak over een 2-dimensionale array ;), daarin kan bv. elk element mooi een pixel voorstellen. Hoewel 2D array in meeste talen een rotoplossing is.

The Crazy Noob

Legacy Member
Kn0t zei:
Je zou het zo kunnen doen:
- je array aanmaken en opvullen (stel 0=wit, 1=zwart)
- BufferedImage aanmaken met afmetingen in pixels = de omvang van je array
- je image volledig wit kleuren
- itereren over je array en zo zwarte pixels tekenen op de juiste plaats op de BufferedImage
- je afbeelding kan je dan wegschrijven met ImageIO (ondersteunt echter wel geen gif export denk ik, wel png en jpeg).

Hoewel ik niet zie waarom de array tussenstap nodig is, je kan direct naar de BufferedImage renderen?

Ok, ik zal het dan als volgt doen: witte image en daarbovenop zwarte pixels maken tijdens het berekenen van de fractaal. Png-formaat is trouwens nog beter dan gif (voor LaTeX o.a.) :).

Ik zal dan even googlen ivm die BufferedImage en die ImageIO, tenzij iemand zin heeft om hier in het kort de nodige commands te zetten (dus: pixel x-y zwartmaken en uiteindelijk exporteren naar png); I would wove him! :love: *slijm*

jodeman

Legacy Member
bij bmp hebt ge 3 matrices voorstelling van R G B waardes tss 0 tem 255, maar gif compressie omvat meer dan gewoon kleurwaarden.
Ik dacht dat in de java api al de compressies standaard inzaten om om te zetten naar gif of jpg.. verbeter mij als ik verkeerd ben.

zoutvat

Legacy Member
Waarom gif? Neem toch bmp. Dat is tien keer simpeler. en converteer nadien die bmp met een ander programma naar gif.

killgore

Legacy Member
zoutvat zei:
Waarom gif? Neem toch bmp. Dat is tien keer simpeler. en converteer nadien die bmp met een ander programma naar gif.

bmp heeft zowat de lompste bestandsstructuur die ge u kunt inbeelden :sop:.
als ge het unencoded wilt houden -> png.

zoutvat

Legacy Member
lomp wel, maar veel gemakkelijker om vanuit een 2 dimensionale array te maken. Van bmp kan je later nog altijd naar een ander formaat overstappen.

killgore

Legacy Member
zoutvat zei:
lomp wel, maar veel gemakkelijker om vanuit een 2 dimensionale array te maken. Van bmp kan je later nog altijd naar een ander formaat overstappen.

png is dan toch beter geschikt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan