Zoom v PictureBoxu   otázka

VB.NET

Zdravím,

vytvářím takovej prográmek, kde se podle zadaných parametrů vykreslí pár čar a text do pictureboxu. Nic složitého. Ale potřeboval bych, abych mohl picturebox zvětšovat a změnšovat, respektive, aby se vykreslená grafika v okně roztahovala podle velikosti pictureboxu (Funkce "lupa").

K vykreslení používám takovýto kód:

Public Grp As Drawing.Graphics
Public Bitmapa As Drawing.Bitmap


Bitmapa = New Bitmap(PictureBox1.Width, PictureBox1.Height) 
Grp = Graphics.FromImage(TBitmap) 
Grp.Clear(Color.White) 

Grp.DrawString("TEXT", Me.Font, Brushes.Black, 20, 20) 'vykresli text

PictureBox1.Invalidate() 'vykreslit 

U PictureBoxu mám nastaveno SizeMode=StretchImage.

PictureBox1.Width = 500
PictureBox1.Invalidate()

'nezmění velikost obrázku v picteroboxu, ale ořízne ho (jenom se změní rozměr, obrázek je stále stejný)

Vím, že na něco takového je lepší použít WPF, ale to jsem ještě nezkoušel a myslím, že klasický WinForms na tohle dostačuje.

Díky za případné nasměrování.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hezký večer,

mám pocit (ale možná se mýlím), že budete muset překreslovat obsah pictureboxu při každé změně jeho velikosti, nějakým poměrem vzhledem k výšce a šířce, nejlépe při vyvolání události "Resize".

R.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste se inspirovat tímhle příkladem:

http://www.dotnetcurry.com/ShowArticle.a...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback