Onko kukaan onnistunut tulostamaan vb:sta pystysuoraan,
siis alhaalta ylöspäin, ja teksti on 90 astetta taaksepäin kallistunut?
Tekstiä ei varmaan suoraan pysty tulostamaan käännettynä, mutta kuvan kautta kyllä. Kirjoita teksti kuvaan (kuvakehykseen) ja tee algoritmi, joka kääntää kuvaa 90 astetta. Tämän jälkeen kuvan voi lähettää tulostettavaksi vaikka Printer-olion PaintPicture-ominaisuuden avulla.
En ole kuvien kanssa juurikaan touhunnut. Tarkoitatko että pictureboxiin piirretään textbox ja sitten tulostetaan
print.paintpicture:lla?
Yritin tätä, mutta vain kuva tulostui, ei teksti.
Voiko kuvaan kirjoittaa jotenkin suoraan tekstiä vb:ssa?
Teksti pitää tulostaa itse kuvaan, mikä onnistuu kuvakehyksen omalla Print-komennolla. Parametriksi annetaan tulostettava teksti. Print tulostaa aina rivin kerrallaan, paitsi silloin kun perässä on puolipiste, jolloin tulostusta jatketaan seuraavan merkin kohdalta.
Private Sub Form_Activate() Picture1.Print "Ensimmäinen rivi." Picture1.Print "Toinen rivi." Picture1.Print "Tämä rivi "; Picture1.Print "jatkuu puolipisteen ansiosta." End Sub
Tämä toteutustapa on kuitenkin paljon mutkikkaampi kuin tekstikentän käyttäminen, sillä mm. rivityksestä täytyy huolehtia itse. Picture1.TextWidth ja Picture1.TextHeight kertovat, kuinka monta pikseliä teksti vie tilaa valitulla fontilla.
En oikein pääse eteenpäin. Kokeilin seuraavaa:
Private Sub Command3_Click() Picture1.Print "kukkuu" Printer.PaintPicture Picture1.Picture, 0, 0 Printer.EndDoc End Sub
Kuvakehykseen tulee teksti "kukkuu", mutta kirjoittimelle ei tulostu mitään tekstiä. Tärkeää olisi saada teksti pystysuoraan nimenomaan kirjoittimelle. (Se pystysuoraan on tietysti vielä oma lukunsa).
Picture1.Picture sisältää kuvakehykseen ladatun kuvan ja Picture1.Image sisältää kuvakehykseen piirretyn (tai tulostetun) grafiikan. Toimisiko, jos vaihdat keskimmäisen rivin muotoon:
Printer.PaintPicture Picture1.Image, 0, 0
Joo, se auttoi. Kiitos. Voi olla että palaan asiaan vielä tuon kuvan kääntämisen tiimoilta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.