Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Page flipping

Postades av 2005-05-15 14:01:17 - Rasmus Ågren, i forum c# (c-sharp), Tråden har 7 Kommentarer och lästs av 639 personer

Jag har en loop som målar upp innehållet i ett fönster men jag har problem med att det flimmrar (page flipping kallas det väl?). Kan man komma undan det på något sätt? Jag vet inte om det finns flera sätt att måla något på, men jag använder ett Graphics-objekt.


Svara

Sv: Page flipping

Postades av 2005-05-15 17:34:39 - Göran Andersson

Nej, det är inte problemet som heter 'page flipping', utan lösningen.

Page flipping är att rita ut grafiken i ett objekt som inte visas på skärmen. När man ritat färdigt i objektet så ritar man ut objektet på skärmen.

När man använder page flipping "på riktigt" så uppdaterar man hela skärmen och använder två uppsättningar av skärmen i minnet, en sida som man visar och en sida som man ritar på. När man ritat färdigt en skärmbild så ändrar man bara pekaren så att det är den sidan som visas på skärmen istället, och börjar rita på den andra sidan.


Svara

Sv:Page flipping

Postades av 2005-05-15 17:59:02 - Rasmus Ågren

Ok, där ser man. Finns det nåt speciellt smidigt sätt att göra detta på eller ska jag bara sätta mig ner och försöka? Som det är nu så skriver jag först till ett objekt i minnet såhär:
<code>
canvas=new Bitmap(5*worldSize,5*worldSize,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
</code>

när det är klart så uppdaterar jag formen med formen.Invalidate() och där står

<code>
Graphics tempArtist=e.Graphics;
tempArtist.DrawImage(simulation.canvas,1,1,simulation.worldSize*5,simulation.worldSize*5);
</code>

Är det då inte redan en form av page flipping?


Svara

Sv: Page flipping

Postades av 2005-05-15 19:03:56 - Göran Andersson

Ja, det är en form av page flipping.

Är det en stor bild som du ritar ut?

En tänkbar förklaring till att det flimrar är om det är något annat objekt som ritar ut något innan din kod ritar ut bilden, till exempel bakgrunden för formuläret.

Gör du invalidate på hela formuläret? Räcker det inte med att göra det på det objekt som ska ritas om?


Svara

Sv:Page flipping

Postades av 2005-05-15 19:05:05 - Rasmus Ågren

Ja, det är en stor bild. Jag ritar direkt på formen. Vore det bättre om jag ritade på något annat objekt?


Svara

Sv: Page flipping

Postades av 2005-05-15 19:17:33 - Göran Andersson

Testa att lägga ett objekt i formläret, som du kör invalidate på och som du ritar bilden på. Då kommer ju inte hela formuläret att ritas om.


Svara

Sv:Page flipping

Postades av 2005-05-15 19:50:50 - Rasmus Ågren

Det funkade faktiskt utmärkt! Jag tycker det verkar lite konstigt eftersom formen är lika stor som det objektet jag ritar på nu, men det är väl bara att tacka och ta emot.


Svara

Sv: Page flipping

Postades av 2005-05-16 09:28:46 - Marcus Agbrant

Lägg till följande efter InitializeComponent så får du doublebuffring och slipper flimmret.

this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
681
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies