Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Pictureboxy

Registrovaný: 03.05.08
Prihlásený: 20.06.12
Príspevky: 8
Témy: 2
Bydlisko: LC
Príspevok NapísalOffline : 14.04.2010 0:05

1. problem
ako prekreslim na pictureboxe jeho image?
Kód:
        public void ShowStep(Form pForm, int pStep)
        {
            Bitmap bmp = new Bitmap(19, 25);
            Graphics g = pbStep.CreateGraphics();
            //Graphics g = Graphics.FromImage(bmp);
            pbStep.Image = bmp;
            g.DrawString(pStep.ToString(), new Font("Arial", 17), new SolidBrush(Color.Snow), new Point(0, 0));
            //prekreslenie stepu
        }

prve nakreslenie je vpohode, lenze ked kreslim druhykrat, tak sa mi to len prekresluje jedno cez druhe, tj prvy string mi nezmizne nech to robim takto alebo aj tym zakomentovanym sposobom
poznamka: BackColor je nastavene na transparent

2. problem
kedze picturebox nepodporuje priehladnost (to co je u neho prihladnost je nieco moc divne, pretoze to len prekresluje pixely svojho parenta na seba :( ), vytvoril som si podla navodov z webu vlastny picturebox:
Kód:
public class MyPB : Control
        {
            private Image _image;

            public MyPB()
            {
                SetStyle(ControlStyles.SupportsTransparentBackColor, true);
                SetStyle(ControlStyles.Opaque, true);
                BackColor = Color.Transparent;
            }

            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    cp.ExStyle |= 0x20;
                    return cp;
                }
            }

            protected override void OnPaint(PaintEventArgs e)
            {
                if (Image != null)
                {
                    e.Graphics.DrawImage(_image, 0, 0, _image.Width, _image.Height);
                }
            }

            protected override void OnPaintBackground(PaintEventArgs e)
            {
                //Do not paint background
            }

            public Image Image
            {
                get
                {
                    return _image;
                }
                set
                {
                    _image = value;
                }
            }
        }

toto uz sa da potom nazvat prihladnost (prave vdaka metode createParameters) lenze ked mi moj picturebox zmeni polohu na forme, pozadie toho _image si nejak zabudol updatnut a ma ho z predoslej pozicie :( ak sa to neda pochopit doplnim scrinsoty

zatim dik







_________________
Born in past, alive now, perhaps the death will arrive someday.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.12.06
Prihlásený: 01.03.13
Príspevky: 239
Témy: 20
Bydlisko: Krásno n/Ky...
Príspevok NapísalOffline : 19.04.2010 18:23

Neviem ci som ta spravne pochopil, ale skusim. Tiez vo svojom projekte pouzivam PictureBox do ktoreho vykreslujem zatial 1 obrazok z kamery a v pohode ide po stisknuti tlacitka vzdy vykreslit 1 obrazok. Skus nieco ako

Kód:
if (pictureBox.Image != null)
{
   pictureBox.Image.Dispose();
   pictureBox.Image = null;
   pictureBox.Refresh();
}


a potom mu nastav novy image.


Offline

Užívateľ
Užívateľ
Pictureboxy

Registrovaný: 03.05.08
Prihlásený: 20.06.12
Príspevky: 8
Témy: 2
Bydlisko: LC
Príspevok Napísal autor témyOffline : 05.05.2010 22:21

no robil som aj update() aj refresh() aj nieco tretie (nevim si rychlo spomenut)
ale nepomohlo, ono sa to sprava tak, ze ked pomocou alt+tab prepnem na ine okno a znovu zobrazim to herne, je to prekreslene ako chcem, ked picturebox (ten moj MyPB) opat presuniem, zas si so sebou vezme uz teraz nove pozadie, a opat ked prepnem na ine okno a spat zas je to spravne...







_________________
Born in past, alive now, perhaps the death will arrive someday.
Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. VB: rozsiahle menu a pictureboxy

v Delphi, Visual Basic

1

653

02.11.2008 13:11

Patkoo Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra