Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Miten aukaisen kuvan image1:seen....

Sivun loppuun

netman87 [27.04.2005 11:21:25]

#

Eli ongelma on tämä... en osaa tehdä ohjelmasta sellaista että se aukaisee image1:seen kuvan.... Käyttäen komentoa:

Ohjelman nimi.exe kuvatiedoston_polku\tiedosto.pääte

olen tekemässä erittäin kevyttä vain kuvatiedostojen katseluun tarkoitettua ohjelmaa sillä omistan hitaan koneen ja kuvia tulee katseltu... Lisäksi olisi kiva saada valmis koodi joka pienentäisi kuvan näyttöön sopivaksi sen ollessa liian iso...
esim 50% ruudunkoosta jos kuva on yli 75% ruudun koosta...

esakom [27.04.2005 12:17:57]

#

lukaiset tuon parametrin (polun) Command$ muuttujasta.
sitten se lataat sen image1.picture = LoadPicture(polku)

en rupea mitään valmista koodia väsäämään, mutta laitat sen imagen stretch-ominaisuuden trueksi ja sitten lataamisen jälkeen tutkit sen kokoa ja halutessasi muutat.

netman87 [27.04.2005 12:29:37]

#

Kiitoksia.... viel jos viittit sanoo et miten tuo command$ toimii...
eli onko se:
dim tiedosto as string
tiedosto = command$
image1.picture = loadpicture(tiedosto)

Vai jotenkin muuten...

esakom [27.04.2005 13:52:08]

#

no just noin

tesmu [27.04.2005 19:20:34]

#

hmmm olisiko näin

private sub command1_click()
image1.picture=loadpicture("kuvanpolku")
end sub

netman87 [28.04.2005 08:37:01]

#

Jeps nyt se toimii... mutta en hoksaa nyt nopeasti miten sen image1:n saa ottamaan saman koon kuin kuva.... siis aluks han sen pitäs ottaa... :/

ja sitten miten luen että mikä reso on käynnissä...

Kiitoksia jo paljon auttaneista ohjeista *kumartaa esakom:ille * :D

esakom [28.04.2005 10:23:54]

#

image skaalautuu kuvan kokoiseksi kun laitat sen stretch-ominaisuudeksi true, joko properties ikkunasta tai koodista

Image1.Stretch = True

resoluution saa muistaakseni seuraavaan tyyliin:

Dim x As Integer
Dim y As Integer
x = CInt(Screen.Width / Screen.TwipsPerPixelX)
y = CInt(Screen.Height / Screen.TwipsPerPixelY)
MsgBox "Resoluutiosi on " & CStr(x) & "x" & CStr(y)

netman87 [28.04.2005 15:54:07]

#

Ja viimeinen ongelma... Tuo koodi ei osaa aukaista joitakin tiedostoja... veikkaisin että johtui polussa olevasta välilyönnistä... mutta en tiedä miten sen saa toimiin sen kans... Eli viel vähän vinkkiä... :)

Blaze [28.04.2005 17:34:26]

#

LoadPicture(Chr$(34) & polku & Chr$(34))

netman87 [29.04.2005 12:11:31]

#

Mahtavaa.... ei toimi jostain syystä... tarvis varmaa poistaa eka ja toka merkki... eli jospa sanoisitte miten luen monta merkkiä muuttujassa on... :)

Blaze [29.04.2005 12:26:24]

#

Len-funktiolla.

netman87 [03.05.2005 12:46:05]

#

https://www.ohjelmointiputka.net/koodivinkit/23569-vb6-fastshow-näyttää-kuvan tuossa nyt ois demo... :P vähän riisuttu versio... mutta ei viittiny puolikastakaan laittaa ja näin voisi saada ideoitakin... :D

netman87 [13.05.2005 10:53:59]

#

höh ei muka voi muokata tuota omaa :( oisin ottanu viimesimmän pois

Megant92 [13.05.2005 14:01:32]

#

Blaze kirjoitti:

LoadPicture(Chr$(34) & polku & Chr$(34))

Hmm...
Tuleeko visual basickissa nuo "$"-merkit?

Blaze [13.05.2005 14:16:51]

#

Tulee, jos haluat, että Chr palauttaa stringin, eikä varianttia.

hunajavohveli [13.05.2005 16:40:33]

#

Mahtaako noissa Chr:ssä ja Chr$:ssä olla nopeuseroja eli haittaako variantin palauttaminen jos tieto siirretään heti string-muuttujaan?

Blaze [13.05.2005 17:32:08]

#

En oo testannu. Itellä tuo on tullu vaan tavaksi.

Antti Laaksonen [13.05.2005 18:53:24]

#

Jos funktiota kutsutaan miljoonia kertoja, nopeusero alkaa tulla näkyviin. Chr$ voittaa kilpailun ja on noin puolet nopeampi kuin Chr. Tavallisessa ohjelmassa ei liene väliä, kumpaa käyttää.


Sivun alkuun

Vastaus

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

Tietoa sivustosta