DirectX a picturebox   zodpovězená otázka

VB.NET

zdravím,

potrebujem vykresliť štyri obdĺžniky do pictureboxu pomocou directX, všetky tutoriály používajú fullscreen alebo vykreslenie na formulár, ak mi vie niekto odporuciť nejaký www link budem vdačný, alebo nejaký príklad.

bury

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

Řešíte jeden problém - vykreslení obdélníku - anebo ještě něco dalšího ve spojení s celoobrazovkovým zobrazením (fullscreen)?

Vykreslování na Form nebo do PictureBox se v podstatě neliší. Dejte na formulář jeden PictureBox a zkuste:

Public Class Form1

  Private Sub PictureBox1_Paint(ByVal sender As Object, _
      ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.DrawRectangle(Pens.Black, 20, 30, 250, 150)
  End Sub

  Private Sub Form1_Paint(ByVal sender As Object, _
      ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    e.Graphics.DrawRectangle(Pens.Black, 20, 220, 250, 150)
  End Sub

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.Width = 300
    Me.Height = 430
    PictureBox1.Dock = DockStyle.Top
    PictureBox1.Height = 200
  End Sub
End Class

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

ja to ale potrebujem s použitím directX, to som v prvom príspevku zabudol napísať ale aj tak dík.

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

Nezapomněl jste, DirectX máte v nadpise. Ale chtěl jste kreslit do PictureBoxu. Pro DirectX je zde seriál http://vbnet.cz/kategorie--13.aspx

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

ten odkaz poznám ale neviem si rady ako to dostať do pictureboxu, raz som to spravil ale neviem si spomenúť ako to bolo.

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

V tomto článku se podívejte hlavně do metody Init, jak se to správně nastavuje. Je to sice v C#, ale to je velmi podobné.

Celou třídu si vlastně jen přidáte do projektu, v designeru ji přetáhnete na formulář místo PictureBoxu a v události Render vykreslíte to, co potřebujete.

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

Když víte, že autor dotazu chtěl řešení v DirectX, proč mu ukazujete kód, který DirectX nepoužívá a kreslí přes GDI+?

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

DirectX jsem nikdy nezkoušel, jen prošel zdejší lekce a nabyl dojmu, že PictureBox v DirectX je zbytečný. Dotaz tazatele jsem úplně nepochopil a že DirectX má v nadpisu jsem zaregistroval až dodatečně. Odpovídal jsem tedy na dotaz, jak kreslit do PictureBox. Autora dotazu jsem nenechal, aby bral moji nepozornost na sebe, proto ten druhý příspšvek. Myslíte, že bylo nutné to řešit?

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

On DirectX v PictureBoxu není zbytečný ani za mák, pokud potřebujete kreslit složitější grafiku, je to řádově rychlejší, protože využívá akcelerace grafické karty. Na rozdíl od pomalého GDI+ (což ovšem neznamená, že GDI+ je špatné, jen se prostě hodí na jiné věci, třeba kreslení jednoduchých objektů do oken).

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