Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Kuvan koko (C++?)

Sivun loppuun

Rocceri [16.05.2010 14:54:14]

#

Jos minulla on kuva, jonka koko on esim. 2000x1600, niin miten saan muokattua siitä max 100x100 kuvan, mutta siten että kuvasuhde pysyisi samana? Uusi kuva pitäisi tallentaa nimellä kuvannimi_pieni.jpg. Kielenä C++.

vehkis91 [16.05.2010 14:59:42]

#

sun pitää etsiä ainakin funktio, mikä pakkaa kuvasi jpg muotoon. Sitten kait ihan perus skaalausfunktioilla skaalaat kuvan.

Rocceri [16.05.2010 15:06:20]

#

Olen uusi tän kielen kanssa, enkä osaa tuollaisia. Mikä on skaalausfunktio? Miten niin pakata? Millä funktiolla voi tallentaa kuvan? Miten se tallennetaan? Mitä kirjastoja tarvitaan? Voiko sen tehdä komentorivillä? Voiko joku antaa esimerkin?

Metabolix [16.05.2010 15:21:11]

#

Eiköhän olisi järkevämpi ratkaisu hankkia jokin valmis ohjelma tuollaiseen hommaan, jälkikin olisi parempaa, kun olisi jonkun asiaan perehtyneen koodaamat skaalausfunktiot ym.

Oman ohjelman tekemisessä on oikeastaan kaksi osaa: JPEG-muotoisen kuvan purkaminen ja pakkaaminen (onnistuu libjpeg-kirjastolla) ja varsinainen skaalausprosessi (vaatii hyviä C++-taitoja ja tietämystä sopivista interpolaatioalgoritmeista).

Antti Laaksonen [16.05.2010 15:32:41]

#

Esimerkiksi IrfanView-ohjelmalla muunnos onnistuu tähän tapaan komentoriviltä:

i_view32 c:\kuvat\suuri.png /resample=(100,0) /convert=c:\kuvat\pieni.jpg

Tästä ei tietenkään ole apua, jos haluat nimenomaan oppia tekemään tuollaisen ohjelman C++:lla.

Rocceri [16.05.2010 16:14:34]

#

Toi IrfanView olisi ihan ok, jos se toimisi. Wintoosa valittaa, että se ei ole sisäinen eikä ulkoinen komento toi i_view32.

Metabolix [16.05.2010 16:18:03]

#

Sinun pitää ehkä määrittää komentoon ohjelman koko polku (C:\...\i_view32.exe).

Antti Laaksonen [16.05.2010 16:18:16]

#

Voit myös suorittaa komennon hakemistossa, johon IrfanView on asennettu.

Rocceri [16.05.2010 16:30:15]

#

Nyt se lähti toimimaan, mutta se ei muuta kokoa. Se vain kloonaa kuvan ja nimeää sen tolle nimelle.

Antti Laaksonen [16.05.2010 16:46:23]

#

Minulla komento toimii, joten minun on vaikeaa neuvoa enempää.

Auttaako, jos kirjoitat /resize etkä /resample?

Yksi mahdollisuus on, että ohjelman versioiden välillä on eroa. Tietoa komentorivin käytöstä on ohjelman ohjeissa (kohta Command Line Options tms.).

Rocceri [16.05.2010 16:49:46]

#

Joo, se toimii resizellä. 0 tarkoittaa kuvan koossa nähtävästi originaalia kokoa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta