Suchergebnisse

Suchergebnisse 1-24 von insgesamt 24.

  • Benutzer-Avatarbild

    @RodFromGermany Wie gesagt, ich kann die Projektmappe mit meinem VB 8 Express nicht öffnen. Zudem brauche kein fertiges Projekt, sondern eine Funktion zur Erweiterung meines 3D-Programms. @-Franky- ich muss mich korrigieren. Auch mein Algorithmus kann das Bild fehlerfrei drehen. Ich hatte einen Fehler bei der Parameterversorgung für die Eckpunkte. Trotz der Ähnlichkeit mit dem Projekt 4P-Distortion muss ich nochmal genauer in dessen Code schauen. Im Bereich von 90 Grad Drehung ist bei mir immer …

  • Benutzer-Avatarbild

    @-Franky- Danke für den Link. Duplizität der Fälle! Das ist genau mein Algorithmus. Selbst die Skizze sieht meiner verblüffend ähnlich. Nur dass ich (wie auch Rod vorgeschlagen hat) die Schleifen über die Koordinaten der Zielbitmap laufen lasse. Da der Algorithmus auf der Proportionalität zu den X- und Y-Koordinaten der Eckpunkte basiert , "kippt" das Ganze, wenn man die Struktur um mehr als 45 Grad (X <-> Y) dreht. Solange man nur einen oder zwei Punkte verschiebt ist alles OK.

  • Benutzer-Avatarbild

    @-Franky- Ich kann die genannte Projektmappe leider nicht öffnen, da ich noch mit VisualBasic 8 Express Edition arbeite (reichte mir bisher). Habe mir aber mal den Code angeschaut. Die wesentliche Leistung des Algorithmus steckt doch in der Function Distortion. Das diese nicht kommentiert ist, würde es mich freuen, wenn mir jemand die dahinter liegende Funktionsweise erklären würde. Ich könnte den Code zwar in angepasster Form "kopieren", aber schöner ist wenn man versteht was da passiert

  • Benutzer-Avatarbild

    @-Franky- Soweit ich den Code verstanden habe, wird das Bild verzerrt, behält aber seine Orientierung (Oben/unten, etc) bei. Ausprobiert habe ich ihn aber (noch) nicht. Für mich interessant ist, wie unterschiedlich Code für gleiche Aufgaben (z.B. für Bitlock) aussehen kann. Bei meinem Algorithmus kann das Bild bis max. 45 Grad gedreht werden, was den Eindruck einer perspektivischen Darstellung unterstützt. Danach "springen" die Koordinaten-Zuordnungen (X/Y). Hier muss ich noch etwas "feilen", da…

  • Benutzer-Avatarbild

    @-Franky- Danke für den Tipp mit 4PointDistortion. Schaue ich mir gerne noch an. Im Augenblick bin ich schon recht nah am Ziel. Meine Idee war, in meinem selbst-entwickelten 3D-Programm zumindest die rechtwinkligen Polygonflächen optional mit Bitmaps (Fotos, Grafiken, etc) zu versehen. In der GDI+-Zeichenroutine verwende ich dann statt dem FillPolygon meine eigene Routine (mit Lockbits), übernehme aber die gleichen 2D-Koordinaten (Projektion) wie für das Polygon. Ich beschreibe mal, wie ich bish…

  • Benutzer-Avatarbild

    OK, danke für die vielen Tipps. Manche sind mir eigentlich zu aufwendig. Ich habe eine Lösung mit Lockbits und etwas Mathematik (eigentlich nur Strahlensatz) ausprobiert. In den meisten Fällen OK, aber dann wieder merkwürdige Ergebnisse. Anbei zwei Screens, einmal mit Fehler, einmal OK. Daher die Hoffnung, es möge einen Befehl wie FillPolygon(bitmap,p()) geben.

  • Benutzer-Avatarbild

    Hallo, gibt es eine einfache Möglichkeit, eine Bitmap vollständig in die Umrisse eines unregelmäßigen Vierecks zu zeichnen, z.B. für die perspektivische Verzerrung eines Fotos in der Schrägansicht ? So etwas wie "FillPolygon(bitmap,p1,p2,p3,p4)" ?

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    @VaporiZed @-Franky- Danke für eure anerkennenden Beiträge. Als "One-man-show" kann man seine eigene Leistung schwer einschätzen. Ich verwende für meine 3D-Darstellungen nur Basis-2DGrafik-Befehle wie DrawLine, FillEllipse, DrawPolygon etc. Das im Screenshot gezeigte Objekt hat 42 Punkte (als Kugeln dargestellt) und 76 Linien, die als räumliche Darstellung ringförmig mit je 60 Polygonflächen (=4560 Stück) umgeben sind. Hierfür werden die weiteren 9120 Koordinaten benötigt. Alle 41394 Grafikelelm…

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    @RodFromGermany Ich könnte natürlich meinen Code zeigen, aber dann reiben wir uns nur wieder daran, dass ich nicht NET/OOP-konform programmiere. Ich habe mir völlig eigenständig und autodidaktisch eine Lösung konstruiert - wobei mir die inzwischen 5 Bücher zu VB wenig helfen konnten - die funktioniert. Da der Umgang mit Mouse-Events aber eigentlich Standard-Aufgaben sind, dachte ich hier im Forum noch etwas besseres und effizienteres zu finden. Allein schon für das MouseDown gibt es in größeren …

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    @RodFromGermany: Die Grafikklasse sieht interessant aus und man kann sie sicher gut zum Zeichnen komplexer Strukturen benutzen. Meine Grafiken sind temporäre Projektionen eines 3D-Raummodells, d.h. die Struktur ändert sich beim Verschieben durch die Änderung der Perspektive. Wobei ich aus der Mausposition mittels weiterer Informationen die Position eines Raumpunkts ermittele, den ich im Raum mit dem gesamten Modell verschiebe. Funktioniert einwandfrei und mit erstaunlich guter Performance. Trotz…

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    Da hast Du sicher recht. Aber umsomehr möchte ich da keine große Verarbeitung dranhängen. Daher das Timer-Konstrukt, das nur zu vernünftigen Zeiten arbeitet. Für Deine Lösung würde sprechen, dass keine Verarbeitung stattfindet wenn die Maus unbewegt ist - während der Timer weiterläuft. Allerdings wird der Timer bei MouseUp sowieso wieder gestoppt.

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    Na klar, habe ich ja - in etwa - auch so gemacht. Aber der Event wird ja bei der geringsten Maus-Bewegung ausgelöst. Es wird da sicher eine interne Queue für die Abarbeitung der Events geben. Die ist - offensichtlich - schnell verstopft, daher die Timer-Lösung. Die Zwischenstände sind ja auch völlig unwichtig. Ob man nun die anstehende Verarbeitung im "geflaggten" MouseMove-Eventhandling oder im auslösenden Timer-Tick selbst macht, ist letztlich egal Es gibt eine ähnliche Problematik (Off-Topic,…

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    Ich habe eigentlich kein Problem, eher eine Lösung, von der ich nicht sicher bin, ob man das professionell nicht besser machen kann. Beispiel (grob skizziert): Um eine gezeichnete Struktur, die aus relativ vielen Einzelelementen besteht (Linien, Polygone, Ellipsen, etc) innerhalb einer Picturebox zu verschieben, könnte ich den MouseMove-Event zum Neuzeichnen nutzen. Da das Neuzeichnen auf einem unveränderten strukturierten Hintergrund recht zeitaufwändig ist und das Event beim Verschieben viel z…

  • Benutzer-Avatarbild

    Mouse / bMaus - Events

    koning3 - - Sonstige Problemstellungen

    Beitrag

    Für die Maus als das wichtigste Gerät für die User-Interaktion finde ich hier nur wenige Infos. Da die Maus in interschiedlichsten Situationen verwendet wird, trenne ich diese durch einen "Maus-Status", der dann bei den Event-Behandungen per Select Case getrennt behandelt wird. Insbesondere habe ich Probleme mit dem Mouse_Move-Event. Hier verwende ich lieber einen Timer, der die Verarbeitung (per Flag) übernimmt. Gibt es hier andere / bessere Vorschläge? Thema verschoben; Das Thema wird automati…

  • Benutzer-Avatarbild

    Mein Projektordner umfasst z.Z. mehr als 60 Projekte, etwa 20 davon sind aktuelle Programme recht unterschiedlicher Größe. Der grundsätzliche Aufbau ist immer sehr ähnlich. Wo immer es geht verwende ich gleiche Variablennamen für gleiche Verwendungen greife auf globale Variablen nur über Parameter (und das meistens durch Überladungen) zu. Bei neuen Projekten kopiere ich die häufigst gebrauchten SUBs und Functions einfach per cut&paste dazu. So gesehen bin ich bei Änderungen und Programmerweiteru…

  • Benutzer-Avatarbild

    @VaporiZed Das mit der "Luft nachoben" verstehe ich nur zu gut. Deswegen bin ich ja hier im Forum. Trotz aller Programmier-Erfolge beschleicht mich des öfteren die Ahnung, dass es eleganter und effizienter gehen könnte. Progarmmieren macht einsam. Kenne ich. In Männerrunden so sexy, als ob ich von einem Häkelkurs erzählen würde. Trotzdem lässt mich die Faszination, etwas völlig Neues zu erschaffen nicht los. Die Software-Architektur (z.B. OOP) zu erfüllen kann aber nicht der Zweck sein. Was für …

  • Benutzer-Avatarbild

    @VaporiZed Es kommt sicher auf den Anspruch an. Als nicht professioneller Anwender von VB8 freue ich mich, dass die IDE Visual Studio auch ohne Informatikstudium und OOP-Kenntnisse zu recht brauchbaren Ergebnissen führt. Glücklicherweise ist der Compiler hier toleranter als manche. Für mich ist VB eine Möglichkeit, den Computer für eigene kreative Ideen zu nutzen ... und nicht auf die Realisierung durch die Software-Profis angewiesen zu sein. Aber ich lerne gerne noch dazu. Um weitere Irritation…

  • Benutzer-Avatarbild

    OK, habe verstanden. Next time. Habt Nachsicht, danke.

  • Benutzer-Avatarbild

    Beispielprogramm Qwirkle

    koning3 - - Sonstige Problemstellungen

    Beitrag

    @RodFromGermany Hier als Beispiel die Projektmappe für das Programm Qwirkle. Das Spiel ist eigentlich ein bekanntes Brettspiel mit Spielsteinen, kann in dieses Computerversion mit bis zu vier Spielern gespielt werden, wobei jeder Spieler bis auf den Startspieler auch durch den Computer ersetzt werden kann. Ab dem zweiten Zug kann auch dieser den Computer übernehmen lassen. Die Grafiken der Spielsteine werden extern geladen, sind aber nicht beigefügt. Spiel läuft aber auch ohne diese, mit Zahlen …

  • Benutzer-Avatarbild

    @RodFromGermany Und dann? Willst du dir den Code wirklich ansehen?

  • Benutzer-Avatarbild

    Ich programmiere sehr pragmatisch und ergebnisorientiert. Wenn das Programm tut was es soll, ist es in Ordnung. Wahrscheinlich kriegen die Professionellen unter euch das Grausen wenn sie meinen Code sehen würden, aber ich habe schon eine Reihe (für mich) sehr brauchbarer Programme damit realisiern können. Mir liegt (als Individualist) nichts an der Ästhetik sauberer OO-Programmierung. Aber es ist gut sich auch mal austauschen zu können. Ich freue mich daher über die freundliche Aufnahme im Forum…

  • Benutzer-Avatarbild

    Es geht auch ohne USING-Blöcke. Ich bleibe bei meinen SUBs für LOCK und UNLOCK, da ich so dynamisch auch mehrere Bitmap sperren und freigeben kann. Die Exception mit der Fehlermeldung "Bitmapbereich ist bereits gesperrt" tritt offensichtlich dann auf, wenn man durch einen Fehler in der Indexberechnung versucht, auf Speicherbereiche außerhalb der Lockbits zuzugreifen. Der Fehler enstand durch eine abgefangene, aber unbehandelte Overflow-Exception bei der Berechnung einer nicht-proportionalen Bitt…

  • Benutzer-Avatarbild

    Danke für die Hinweise. Bisher arbeite ich mit mehreren SUBs für Lock und Unlock, wobei ich mir beim Lock Flags setze, die ich abfrage. Klappt normalerweise problemlos. Die Idee mit USING und die Übergabe der Lockbits statt der Bitmap ist super, aber dafür muss ich die Programme erstmal ziemlich umbauen. Melde mich später nochmal.

  • Benutzer-Avatarbild

    Wie prüfe ich ob bitmap.lockbits die Bitmap bereits gesperrt hat ?