vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Neuer Quellcod 
Autor: Mr. Fox
Datum: 04.01.03 10:16

Hallo,

Ich habe jetzt das Problem mit SetPixelV gelöst
(hatte die hDC Variable gespeichert aber danach nochmal den gesamten
Inhalt verändert --> alter hDC war ungültig).
Durch Zufall hab ich natürlich gleich noch eine Möglichkeit gefunden,
das Zeichnen noch weiter zu beschleunigen:

Private Declare Function SetPixelV Lib "gdi32" (ByVal hdc As Long, ByVal X As _
  Long, ByVal Y As Long, ByVal crColor As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As _
Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
hSrcDC As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As _
Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As _
Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal _
  hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As _
Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, _
ByVal nWidth As Long, ByVal nHeight As Long) As Long
Dim memHDC As Long
Dim memBitmap As Long
 
Picture1.AutoRedraw = True
 
' PicHeight und PicWidth ist die jeweilige Höhe und Breite von Picture1 in Pixel
 
memHDC = CreateCompatibleDC(Picture1.hdc)
memBitmap = CreateCompatibleBitmap(Picture1.hdc, PicWidth, PicHeight)
Call DeleteObject(SelectObject(memHDC, memBitmap))
Call BitBlt(memHDC, 0, 0, PicWidth, PicHeight, picOutput.hdc, 0, 0, vbSrcCopy)
 
' ... Berechnung
Call SetPixelV(memHDC, ' ...
' ... Berechnung
 
DoEvents
Call BitBlt(Picture1.hdc, 0, 0, PicWidth, PicHeight, memHDC, 0, 0, vbSrcCopy)
Call DeleteObject(memBitmap)
Call DeleteDC(memHDC)
Set Picture1.Picture = Picture1.Image
Durch diese Methode wird das Zeichnen um einiges schneller, da nur noch im Arbeitsspeicher
gezeichnet wird.

ciao
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Quellcod Fraktal795Rainer H30.12.02 06:52
Re: Quellcod Fraktal1.548Mr. Fox30.12.02 09:38
Re: Quellcod Fraktal1.452Mr. Fox30.12.02 17:36
Re: Quellcod Fraktal366Zardoz31.12.02 03:59
Re: Quellcod Fraktal294Rainer H31.12.02 13:13
Re: Quellcod Fraktal299Zardoz31.12.02 14:24
Re: Quellcod Fraktal303Rainer H31.12.02 15:25
Mausfunktion fraktal313Rainer H31.12.02 16:23
Re: Mausfunktion fraktal1.401Mr. Fox31.12.02 16:59
Re: Mausfunktion fraktal276Rainer H31.12.02 17:37
Re: Quellcod Fraktal298Zardoz31.12.02 20:47
Re: Quellcod Fraktal269Rainer H01.01.03 11:51
Re: Quellcod Fraktal295Zardoz02.01.03 01:24
Re: Quellcod Fraktal282Rainer H02.01.03 11:18
Re: Quellcod Fraktal432Zardoz02.01.03 13:52
Re: Quellcod Fraktal295Rainer H02.01.03 15:59
Re: Quellcod Fraktal277Rainer H02.01.03 16:26
Re: Quellcod Fraktal586Zardoz03.01.03 03:14
Neuer Quellcod309Rainer H03.01.03 12:04
Re: Neuer Quellcod1.419Mr. Fox03.01.03 18:18
Re: Neuer Quellcod297Rainer H03.01.03 19:22
Re: Neuer Quellcod299Zardoz04.01.03 04:41
Re: Neuer Quellcod1.483Mr. Fox04.01.03 10:16
Re: Neuer Quellcod279Rainer H04.01.03 14:13
Farbgenerator257Rainer H04.01.03 15:04
Re: Quellcode Fraktal315Zardoz04.01.03 16:15
Re: Quellcode Fraktal287Rainer H04.01.03 18:50
Farbgenerator Rnd- Modul272Rainer H05.01.03 09:13
Re: Farbgenerator Rnd- Modul292Rainer H05.01.03 11:29
Re: Error 6279Zardoz05.01.03 15:55
Re: Quellcod Fraktal305Rainer H31.12.02 09:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel