07. juni 2003 - 14:24Der er
6 kommentarer og 1 løsning
Decrease color depth algoritme ?
Jeg har brug for en algoritme til at lave et 24-Bit JPEG billede om til 8-Bit (256 farver).
Jeg skal lave det i PHP, men det jeg søger er bare beskrivelser af hvordan man gør rent teknisk.
Jeg har adgang til at læse hver enkelt pixel's farve i billedet, men ikke adgang til f.eks. DIB's (som man nok ville bruge i.fb. med C++/VB (Win32 API's))
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Den nemme løsning må være at bruge en fast palette, fx. Netscapes 216-farvers-palette, eller måske bare en palette du laver én gang for alle, hvis billederne minder meget om hinanden.
Du kunne evt. starte med at lave 216-farver-paletten, og så fjerne ubrugte og lidt-brugte farver, og bruge pladsen på farver der ligger mellem de mest brugte. Men det koster jo hurtigt CPU...
Anyway, du har vel set at PHP har en funktion til at finde den bedste farve i en eksisterende palette?
Jeg har lavet et billede galleri script (eller mere, en image browser) der laver thumbnails af billederne.
Men, ImageCreateTrueColor() virker som bekendt kun med GDlib >= 2.0.1, og en jeg kender der skal bruge det har kun adgang til GD 1.6.2 (b-one.nu mener ikke at GD 2.0.1 er stable nok ..)
ImageCreate() kan jeg godt bruge, men det kræver at jeg får lavet en 256-farvers palette ud af JPEG billedet, loadet med ImageCreateFromJPEG() (som også virker under GD 1.6.2)
Måske ImageCreateFromJPEG() laver et 256-color image under GD 1.6.2 .. det var værd at undersøge ..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.