Moi
Nyt olen päässyt uuden ongelman kimppuun. Tarkoituksena olisi saada piirrettyyn kuvaan zoom in ja zoom out painikkeet. Kuva on pitkän omainen kappale, jossa on reikiä. Zoomaamalla sitten pääsisisi tarkastelemaan kuvaa lähemmin. Tarkoituksena olisi liittää vielä pan työkalu tai muu tarkennetyn kuvan liikutteluun liittyvä apuväline(ScrollBar?).
Parasta olisi kun pystyisi samaan kuvaan lataamaan perusversion kappaleesta ja sitten zoomaamaan ja liikuttelemaan. Ettei tarvitsisi useampia kuvia. Olen etsinyt kunnollista esimerkkiä, mutta en ole löytänyt.
Kokeilin tätä:
https://www.ohjelmointiputka.net/koodivinkit/
Mutta en saanut toimimaan järkevällä tavalla.
Sitten luin:
https://www.ohjelmointiputka.net/keskustelu/
En ymmärtänyt kuvan lataamista.
Mistä apua? Joku jos osaisi selittää sen kuvien lataamisen tuossa toisessa esimerkissä, niin voisin kokeilla sitä. Mutta onko se järkevin vaihtoehto?
Veikko
Onnistuukohan tuossa kuvan uudelleen piirto haluttuun kokoon?
Pikseligrafiikkaa ei voi kovin paljoa suurentaa millääb konstilla koska kuvaan tarvittaisiin lisäpikseleitä. Jos ne luodaan jollain interpolointisysteemillä tulee kuvasta vähitellen epäselvä. Pienentää voi kyllä eli alkuperäinen kuva tulisi luoda riittäävän suureksi jota sitten voi zoomilla pienentää.
Mitä tarkoittaa toi kuvan uudelleen piirto? Käyttäen eri skaalaus kerrointa vai?
Veikko
Mainitsit edellä piirretyn kuvan ja jos se on piirretty koodilla sen voisi ehkä piirtää uudelleen halutussa koossa. Muuten ehkä zoomaus kannattaa toteuttaa vaikka PaintPicture-metodilla ja suuren kuvan liikutteluun on useita eri mahdollisuuksia. Kuvan siirtoon hiirellä löytyy koodiesimerkki ja ellei löydy voin laittaa uudelleen parikin esimerkkiä.
Jos piirrät kuvan VB:n piirtokomennoilla (Line, Circle jne.), kannattaa tosiaan piirtää kuva uudestaan oikean kokoisena, jotta kuvan yksityiskohdat näkyvät tarkasti myös suurennoksessa. Tämän voi toteuttaa myös niin, että koodi pysyy muuten ennallaan, mutta ominaisuuksien ScaleLeft, ScaleTop, ScaleWidth ja ScaleHeight avulla määritetään kuvasta näytettävä osa.
Jos kuitenkin kyseessä on valmiina oleva suuri kuva, joka näkyy toisinaan pienennettynä, ratkaisu voisi olla ladata kuva aluksi ikkunan ulkopuolelle siirrettyyn kuvakehykseen ja siirtää sieltä halutun kokoisia osia käyttäjälle näkyvään kuvakehykseen mainitulla PaintPicture-metodilla. Mutta kerro tarkemmin tilanteesta, niin voimme vastata tarkemmin.
Kiitos vinkistä kummallekin. Sain tehtyä kuvan suurentamisen ja suurennetun liikuttelun juuri noilla ScaleLeft, ScaleTop, ScaleWidth ja ScaleHeight ominaisuuksilla.
Veikko
Aihe on jo aika vanha, joten et voi enää vastata siihen.