| |
|
|
Christian Eichler | Nur ein ganz kleines, kurzes Frägelchen zu %hdc2. Ist dieses %hdc2 eine profansche Erfindung (also nicht Windows-Standart ?!) oder erwisch ich das auch irgendwie mit der API-Funktion GetDC ? |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 12.12.2007 ▲ |
|
|
|
|
RGH | Der %hDC2 ist eine Profanische Erfindung und steht per einen zweiten Displaykontext des Hauptfensters. Dieser zweite Displaykontext enthält immer eine Kopie des Hauptfensters, so dass dieses immer vollautomatisch wiederhergestellt werden kann, z.B. wenn ein anderes Fenster drüber geschoben wird, es verkleinert und vergrößert wird, etc. etc. Das erspart es dem XProfan-Programmierer selbst auf die wmPaint-Biotschaft reagieren zu müssen, um dann den kompletten Bildschirminhalt wiederherzustellen. Von Hause aus macht Windows das nämlich nicht, sondern sendet eben nur wmPaint und das Programm muss dann sehen, wo es seine Informationen herbekommt, um den Bildschirm neuzuzeichen.
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 12.12.2007 ▲ |
|
|
|
|
Christian Eichler | Vielen Dank, das war genau das, was ich wissen wollte
Zur Erklärung, warum ich das gefragt hab : Ich schreib ja z.Z. an einer DLL in C++, mit der man Speicherbitmaps bequem verarbeiten können soll (Frank, ich weiß, dass du auch so eine DLL anbietest, die hilft mir aber nur beschränkt weiter). Mit dieser DLL möchte ich dann in meinem Programm zum Graphen zeichnen u.a. die Skala erstellen, da das mit C++ deutlich schneller gehen wird, als mit Profan.
mfg Christian E |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 12.12.2007 ▲ |
|
|
|
|
Frank Abbing | Willst du dabei mit DIBs arbeiten oder nur SetPixel anwenden? |
|
|
| |
|
|
|
Christian Eichler | Die Skala erstell ich mit MoveTo und LineTo, SetPixel verwend ich hier nicht ! Was verstehst du unter arbeiten ?
Ich erstell am Programmstart ein MemoryBitmap und lösche das auch wieder, entweder in der Programmmitte, um ein neues zu erstellen oder am Schluss, wenn ich mein Programm beende ... und dazwischen Zeichne ich darauf und lasse es Mostra |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 12.12.2007 ▲ |
|
|
|
|
Frank Abbing | Die Zeichenfunktionen der GDI arbeiten sehr langsam im Gegensatz zum direkten Setzen der Pixel inner einer DIB. Zumindest in nativen Sprachen. Die Effektfunktionen der ProSpeed.dll arbeiten z.B. mit der DIB-Methode. Die Pixelwerte werden direkt im Speicher gesetzt und später in einem Rutsch auf den HDC kopiert. Nach DirectX die schnellste Methode.
Auf meiner Seite findest du die DIB.dll. Quasi eine stark abgespeckte Version der ProSpeed. Du kannst die Dll (3 KB!) sehr einfach zusammen mit deinem Code benutzen. |
|
|
| |
|
|
|
Christian Eichler | Hmm... okay... aber der Punkt ist ja eigentlich der: Ich möchte einen Teil des Codes von meinem Profan-Programm auslagern. In eine DLL... Und wenn ich jetzt deine DLL wieder verwede, dann lern ich ja wieder kein C++ ... was ja eigentlich mein Ziel ist |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 13.12.2007 ▲ |
|
|
|
|
Frank Abbing | Mein Vorschlag ist ja nicht zwingend. Ob du ihn anwenden kannst und willst liegt doch alleine bei dir. |
|
|
| |
|
|
|
Christian Eichler | Naja, ich werd jetzt erstmal schaun, wie weit ich komme ... und wenn ich nicht weiterkomm, dann greif ich mal auf deine DLL zurück |
|
|
| Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 13.12.2007 ▲ |
|
|
|
|
Frank Abbing | Jo. Die Dll stellt auch nur den Rahmen dar. Zeichnen musst du selber. Und in der Beziehung ist das Arbeiten mit SetPixel sicher einfacher. |
|
|
| |
|
|