Kirjoittaja Aihe: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi? [RATKAISTU]  (Luettu 4226 kertaa)

peran

  • Vieras
Elikkäs otsikon mukaista sydeemiä kaipaisin. Gimpillä osaan tehdä ko. operaation, mutta sitä ei ehkä saa automatisoiduksi.

Convert:lla en osaa tehdä sitä.

Edit - löysin tiff2rgba ohjelman, jolla todennäköisesti ko. homman voi tehdä, mutta en löytänyt sille .deb-pakettia.
« Viimeksi muokattu: 19.02.07 - klo:04.28 kirjoittanut peran »

Ryppy

  • Käyttäjä
  • Viestejä: 837
    • Profiili
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #1 : 18.02.07 - klo:18.57 »
Vastausta minulla ei valitettavasti ole, mutta tulin uteliaaksi. Missä noita formaatteja vielä
oikeasti käytetään ?
Poistuu taka vasemmalle - - -

peran

  • Vieras
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #2 : 18.02.07 - klo:19.02 »
Vastausta minulla ei valitettavasti ole, mutta tulin uteliaaksi. Missä noita formaatteja vielä
oikeasti käytetään ?

fpdf:ssä kuvien laitoissa on aika paljon rajoitteita. Voisin käyttää tietenkin .jpg:tä, mutta se heikentää kuvanlaatua, joten en mielelläni siihen menisi.

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #3 : 18.02.07 - klo:20.26 »
Elikkäs otsikon mukaista sydeemiä kaipaisin. Gimpillä osaan tehdä ko. operaation, mutta sitä ei ehkä saa automatisoiduksi.

Convert:lla en osaa tehdä sitä.

no, imagemagick on kyllä se paketti joka tulee ensimmäisenä mieleen kun puhutaan kuvankäsittelystä komentoriviltä ja tähän hommaan convert on varmaan ihan omiaan. kun poistat alpha-kanavan tarvitset varmaan jonkun tietyn taustavärin kuvalle. se onnistuu -background vivulla ja alphakanava jätetään huomiotta +matte vivulla. muutakin voi toki kaivata, mutta ne(kin) löytyy convertin ohjeista.

olisiko siis näin:
Koodia: [Valitse]
$ convert rgba_kuva -background white +matte  rgb_kuva
Janne

peran

  • Vieras
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #4 : 19.02.07 - klo:02.44 »
Elikkäs otsikon mukaista sydeemiä kaipaisin. Gimpillä osaan tehdä ko. operaation, mutta sitä ei ehkä saa automatisoiduksi.

Convert:lla en osaa tehdä sitä.

no, imagemagick on kyllä se paketti joka tulee ensimmäisenä mieleen kun puhutaan kuvankäsittelystä komentoriviltä ja tähän hommaan convert on varmaan ihan omiaan. kun poistat alpha-kanavan tarvitset varmaan jonkun tietyn taustavärin kuvalle. se onnistuu -background vivulla ja alphakanava jätetään huomiotta +matte vivulla. muutakin voi toki kaivata, mutta ne(kin) löytyy convertin ohjeista.

olisiko siis näin:
Koodia: [Valitse]
$ convert rgba_kuva -background white +matte  rgb_kuva

Kiitoksia, tosiaan noinhan se tehdään, mutta valitettavasti näyttäisin jälleen törmääväni bugiin.
Osa taustasta muuttuu mustaksi, vaikka taustaväri on asetettu valkoiseksi. :(

https://wiki.ubuntu.com/Artwork/Official?action=AttachFile&do=get&target=UbuntuLozengeStrapLogo.png

Tätä logoa yritin konvertoida. Tosin kuva kyllä kelpaa fpdf:lle.

peran

  • Vieras
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #5 : 19.02.07 - klo:04.27 »
No, nyt sain jo vihdoin toimimaan seuraavalla scriptillä. Se tarvitsee avuksi (myös pieni riittää) rgb-kuvan.

Koodia: [Valitse]
#!/bin/bash

let w=`identify -format "%w" "${1}"`
r=`identify -format "%h" ${1}`
convert -resize ${w}x${r}! rgb_kuva.png rgb_kuvaApu.png
convert -draw "image Over 0,0 $w,$r ${1}" rgb_kuvaApu.png name.png

Parametrina siis annetaan muutettava kuva.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Miten komentoriviltä muutetaan rgba kuva rgb kuvaksi?
« Vastaus #6 : 19.02.07 - klo:11.47 »
No, nyt sain jo vihdoin toimimaan seuraavalla scriptillä. Se tarvitsee avuksi (myös pieni riittää) rgb-kuvan.

Minä hieman yksinkertaistin tuota ja tämä versio ei tarvitse apukuvaa.

Koodia: [Valitse]
#!/bin/bash

[ "$#" -ne 2 ] && echo "Usage: $(basename $0) input_image output_image" && exit 1

size="$(identify -format "%wx%h" logo.png)"
convert -size $size xc:white "$1" -compose over -composite "$2"


peran

  • Vieras
Minä hieman yksinkertaistin tuota ja tämä versio ei tarvitse apukuvaa.

Tekee kyllä kuvan, mutta ei kelpaa fpdf:lle.

Tämmöistä herjaa...
Koodia: [Valitse]
FPDF error: 16-bit depth not supported: rgb.png
No, joka tapauksessa minun versioni toimii. Muuten kyllä on varsin kaunis ratkaisu. (Ehkä se ratkaisee rbga:n, muttei varsinaista ongelmaa).

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Minä hieman yksinkertaistin tuota ja tämä versio ei tarvitse apukuvaa.

Tekee kyllä kuvan, mutta ei kelpaa fpdf:lle.

Tämmöistä herjaa...
Koodia: [Valitse]
FPDF error: 16-bit depth not supported: rgb.png

Voi olla että "-depth 24" tai "-depth 8" -parametri ratkaisisi tuon ongelman... Jos viitsit kokeilla niin kiinnostaisi tietää onko noista apua.

peran

  • Vieras
Voi olla että "-depth 24" tai "-depth 8" -parametri ratkaisisi tuon ongelman... Jos viitsit kokeilla niin kiinnostaisi tietää onko noista apua.

Joops, "-depth 8"-parametri näyttää auttavan asiaan. Aika näppärä ratkaisu onkin. fpdf:ssä on tietenkin panostettu nopeuteen enemmän kuin ominaisuuksiin. Suositeltava testauskohde, joilla on tarvetta luoda .pdf lennossa. Käy reaaliaikaisen laskun tulostamiseen.

No, laitetaan lopullinen toimiva koodi esille, jos vaikka jollekin on käyttöä sille.

Koodia: [Valitse]
#!/bin/bash

[ "$#" -ne 2 ] && echo "Usage: $(basename $0) input_image output_image" && exit 1

size="$(identify -format "%wx%h" ${1})"
convert -size $size xc:white "$1" -compose over -composite -depth 8 "$2"

Kiitoksia vastanneille.