Kirjoittaja: Antti Laaksonen
Kirjoitettu: 27.04.2002 – 27.04.2002
Tagit: grafiikka, koodi näytille, vinkki
Laitetaan nyt tämä keskustelussakin esilletullut vinkki tännekin... Kuvan peilaaminen onnistuu toki PSetillä ja Pointilla (tai SetPixelillä ja GetPixelillä), mutta silloin peilauksesta tulee melko hidas.
Tämä vinkki käyttää VB:n omaa funktiota PaintPicture, joka vastaa melko pitkälle BitBlt:tä. Peilaus tapahtuukin silmänräpäyksessä.
Formilla on oltava kaksi kuvakehystä (Picture1 ja Picture2), kolme painiketta (Command1, Command2 ja Command3). Command1:sta painamalla kuva peilautuu vaakasuuntaisesti, Command2:sta painamalla pystysuuntaisesti, ja Command3:sta painamalla molemmat peilaukset tehdään samanaikaisesti.
Private Sub Command1_Click 'vaakasuuntainen peilaaminen Picture2.PaintPicture Picture1, Picture2.Width, 0, -Picture2.Width End Sub Private Sub Command2_Click 'pystysuuntainen peilaaminen Picture2.PaintPicture Picture1, 0, Picture2.Height, , -Picture2.Height End Sub Private Sub Command3_Click 'molempisuuntainen peilaaminen Picture2.PaintPicture Picture1, Picture2.Width, Picture2.Height, -Picture2.Width, -Picture2.Height End Sub
Minulla on Visual Basic 3. Toimiiko tämä ohjelma sillä? En saanut toimimaan.
mites tämän sais tapahtumaan bitbltllä tai vastaavalla? onko se ihan vaan että ensin käännetään vbn omalla käskyllä ja sitten bitbltoidaan?