vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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 Fraktal833Rainer H30.12.02 06:52
Re: Quellcod Fraktal1.577Mr. Fox30.12.02 09:38
Re: Quellcod Fraktal1.480Mr. Fox30.12.02 17:36
Re: Quellcod Fraktal400Zardoz31.12.02 03:59
Re: Quellcod Fraktal320Rainer H31.12.02 13:13
Re: Quellcod Fraktal327Zardoz31.12.02 14:24
Re: Quellcod Fraktal337Rainer H31.12.02 15:25
Mausfunktion fraktal344Rainer H31.12.02 16:23
Re: Mausfunktion fraktal1.429Mr. Fox31.12.02 16:59
Re: Mausfunktion fraktal304Rainer H31.12.02 17:37
Re: Quellcod Fraktal333Zardoz31.12.02 20:47
Re: Quellcod Fraktal305Rainer H01.01.03 11:51
Re: Quellcod Fraktal339Zardoz02.01.03 01:24
Re: Quellcod Fraktal316Rainer H02.01.03 11:18
Re: Quellcod Fraktal466Zardoz02.01.03 13:52
Re: Quellcod Fraktal323Rainer H02.01.03 15:59
Re: Quellcod Fraktal306Rainer H02.01.03 16:26
Re: Quellcod Fraktal624Zardoz03.01.03 03:14
Neuer Quellcod336Rainer H03.01.03 12:04
Re: Neuer Quellcod1.448Mr. Fox03.01.03 18:18
Re: Neuer Quellcod325Rainer H03.01.03 19:22
Re: Neuer Quellcod326Zardoz04.01.03 04:41
Re: Neuer Quellcod1.520Mr. Fox04.01.03 10:16
Re: Neuer Quellcod307Rainer H04.01.03 14:13
Farbgenerator286Rainer H04.01.03 15:04
Re: Quellcode Fraktal355Zardoz04.01.03 16:15
Re: Quellcode Fraktal315Rainer H04.01.03 18:50
Farbgenerator Rnd- Modul301Rainer H05.01.03 09:13
Re: Farbgenerator Rnd- Modul320Rainer H05.01.03 11:29
Re: Error 6307Zardoz05.01.03 15:55
Re: Quellcod Fraktal333Rainer 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