@Farliam Mit einem komplexeren GIF-Maker kannst Du die Dauern der Frames vorgeben. Frag mal Frau Google nach csharp gif maker frame duration. Eine andere Herangehensweise wäre, die Bilder als 8 BPP zu generieren und dann nur noch die Palette zu verändern.
Zitat von Farliam: „VB.NET-Quellcode (1 Zeile)“Beschreib mal verbal, ohne software-technische Begriffe, was diese Funktion machen soll, das erschließt sich mir nämlich nicht.
@Farliam Sorry, das Ergebnis ist korrekt, da steht ja ein + da. Mit max - min bist Du allerdings auf der sicheren Seite, denn in einem Jahr fängst Du bei Deinem Code an zu grübeln, warum das so geschrieben steht.
Zitat von Farliam: „Nun möchte ich meiner Zoomfunktion den Befehl geben, diesen Bereich wieder zu finden - bei einer Auflösung von 1880p.“Was nennst Du einen Bereich? Nach welchen Kriterien findest Du einen Befreich?
@Farliam OK, wie bei der Mandelbrod-Menge. Wenn Du den Bereich schon mal hattest, wäre es vielleicht sinnvoll, wenn Du die erzoomten Techtecke in einer History-List ablegen würdest, da könntest Du hin- und her navigieren. Ich weiß nicht, wie Du navigierst, aber Du könntest auch Tastendrücke und / oder Maus-Zoom-Aktionen speichern.
Zitat von Farliam: „Und ich brauche nicht nur die linke Ecke, ich brauche auch die rechte untere Ecke.“Das ist doch einfach ein Rectangle oder ein eigenes RectangleD (4 Double-Werte). Vielleicht ist es sogar besser, Du stellst alles auf RectangleD um.
Zitat von Farliam: „nur hilft es ja nicht, wenn die Umrechnung am Ende nicht stimmt.“Wenn ich Deinen Code in Post #19 sehe, steht da nix anderes. Das Ablegen und Abrufen geht dann halt mit einem Einzeiler.
Zitat von Farliam: „Nur verliere ich bei dieser Methode am Ende die Nachkommastellen.“In welcher Dimension? xy-Ort oder z-Farbtiefe? Wie äußert sich das? Mit einer Klasse RectangleD kannst Du das Zoomen da drinne machen lassen, da überblickst Du das Jonglieren mit den Koordinaten einfacher und sicherer.
Zitat von Farliam: „Und meine Idee, das ganze von Unten nach oben zu berechnen war richtig.“OOD und OOP wäre eine richtige Herangehensweise, und wenn Du das nicht gemacht hast (was ich mal annehme) wäre ein Redesign der richtige Ansatz für Dich.
@Farliam Wie wäre es, wenn Du alles in der höchsten Präzision rechnest, am Anfang, wo Du sie noch nicht brauchst, sollte die Rechenzeit eigentlich hinnehmbar sein. Dann gibt es auch keine ggf. sichtbaren Übergänge bei anderen Rechen-Genauigkeiten.
@Farliam Du musst da nicht As Object reinschreiben,dafür ist doch das T da. Ich rate Dur dringend, mal eine schöpferische Pause einzulegen und Dich mit generischen Klassen zu speichern. Wenn Du das Konzept verinnerlicht hast, ist das alles ganz einfach. Operatoren überladen musst Du nur dann, wenn Du eine eigene Klasse Complex hast.
Zitat von Farliam: „ein paar gute Beispiele“in C#, die für Dich zu übersetzen habe ich keine Lust. Frag Frau Google nach vb.net generischen Klassen beispiele: docs.microsoft.com/de-de/dotne…/data-types/generic-types docs.microsoft.com/de-de/dotne…ow-to-use-a-generic-class