Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GEOS-InfoBase-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

41

Mittwoch, 14. Dezember 2022, 17:17

Mit Entsetzen mußte ich feststellen, daß R-Basic die berühmte Schwester π mit einer eigenen Konstante würdigt, die schöne sectio aurea – vom Gemeinen Vulgärlateiner gerne forsch mit sexy Aura übersetzt – jedoch verschmäht und verschweigt. Rainer, was ist da los?

Für diesen Zweck hat der R-BASIC Papa seinem Kind die geniale Fähigkeit zu Konstantendefinition mitgegeben.
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

42

Mittwoch, 14. Dezember 2022, 18:37

Für diesen Zweck hat der R-BASIC Papa seinem Kind die geniale Fähigkeit zur Konstantendefinition mitgegeben.

Brilliant 8)!
Genauso hatte ich es dann auch umgesetzt:

Quellcode

1
CONST SECTIO_AUREA = 1.618034
.

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

43

Mittwoch, 14. Dezember 2022, 19:20

MacPaint 4

Das noch unfertige Stück ließ mich nicht ruhig schlafen. Daher habe ich der Funktion zum Speichern eines Bildes im MacPaint-Format nun auch beigebracht, transparente Bildbereiche entweder schwarz oder weiß, je nach Nutzerwunsch, einzufärben. Zumindest theoretisch, denn derzeit habe ich kein Beispielbild, an dem ich das testen könnte.

44

Mittwoch, 14. Dezember 2022, 20:26

Brilliant 8)!
Genauso hatte ich es dann auch umgesetzt:

Quellcode

1
1 CONST SECTIO_AUREA = 1.618034


Nimmste

Quellcode

1
1 CONST SECTIO_AUREA = 0.5*(1+SQR(5))

Biste gleich mit voller Stellenzahl dabei.

Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

45

Mittwoch, 14. Dezember 2022, 20:37


Nimmste

Quellcode

1
1 CONST SECTIO_AUREA = 0.5*(1+SQR(5))

Biste gleich mit voller Stellenzahl dabei.

Gruß
Rainer


Genauso war der Plan! Genauso schrieb ich spontan die Code-Zeile. Aber R-Basic meinte, daß Funktionsaufrufe hier nicht erlaubt seien. Daher mußte ich die Ziffern explizit eintippen und vorgeben.

46

Mittwoch, 14. Dezember 2022, 22:48

Mist!
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

47

Freitag, 16. Dezember 2022, 09:37

Sebi, du solltest doch noch ein Buch schreiben. Dann hättest du alle Erläuterungen und Erklärungen beisammen. :D
Gruß Achim



PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

48

Freitag, 16. Dezember 2022, 23:29

Achim, auch eine gute Idee. Arbeitstitel: Jäger des verlorenen Codes :)!

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

49

Samstag, 17. Dezember 2022, 00:25

Dune HD Skin 2

Nach den letzten neuen bahnbrechenden Erweiterungen geschahen zwei Dinge. Zum einen freute ich mich mächtig gewaltig, dem Programm Bildinfos nun auch das Speichern in einem anderen Format, nämlich MacPaint, beigebracht zu haben. Dies ist auch eine qualitative Erweiterung, denn somit wird der Aufgabenbereich eines Bildkonverters erschlossen. Zum anderen wurde ich einfach von Zuschriften aus der ganzen Welt überschwemmt! Verzweifelt-begeisterte Geos-Nutzer sahen die Möglichkeit wie die Morgensonne am Strand von Barbados aufsteigen, daß sie nun mit Geos-Mitteln endlich ihre Dune-HD-Medien-Player tunen können! Was den Briefen alles an Motivationsfutter und antizipierendem Dank beilag – 100-Dollar-Scheine, Mammut-Elfenbein, Urlaubsgutscheine, gestrickte Grußkarten, Winterreifen und sogar Obst! Nur leider habe ich nicht mitbekommen, wohin die zwischen den Bananen versteckte Vogelspinne verschwunden ist ...

Also fackelte ich nicht lange, sondern zündete eine Kerze an und begann zu tippen. So oft hatte die Turmuhr noch gar nicht geschlagen, da geschah es: das Programm speichert nun auch beliebige Bilder, ob mit 1, 8 oder 24 bit Farbtiefe, im Dune-HD-Format! Natürlich bleibt auch die Transparenz erhalten, das ist ja gerade der Clou, das hüpfende Komma, sind des Pudels Locken zur privaten Media-Player-Verschönerung. Nun wird Weihnachten schön :).

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

50

Samstag, 17. Dezember 2022, 00:50

Dune HD Skin 3

Noch während die Freudenfeuer über das neue Speichern im Dune-HD-Skin-Format funkensprühend aufloderten und den umstehenden Schneemännern vor Schreck die halbgeröstete Karotte aus der Nase fiel, sah ich die Schatten hinten den hellen Flammen. So können zwar bestehende Bilder ins Dune-Format gewandelt werden, aber eben nur bestehende Bilder. Weltweit erschaffen dagegen Geos-Künstler in GeoDraw kreative und phantasievolle Gestaltungen und Graphiken, die sie auf ihren Dune-Playern zum Leuchten bringen wollen. Da fehlt noch ein Schritt, eine Brücke, um die losen Enden des Schaffensweges zu verbinden. Also holte ich tief Luft und tauchte tief in die R-Basic-Doku hinab, um mit dem Ring wieder aufzutauchen und die schöne Königstochter ... und die schöne Funktion zu implementieren, daß sich nun beliebige Bilder aus der Zwischenablage einfügen lassen. So kann man seine Seerosen in GeoDraw zeichnen, sie kopieren, in Bildinfos einfügen und dort im Dune-Format speichern!

Addendum: Dabei gab es noch eine unerwartete Hürde zu umgehen. Beim Einfügen aus GeoDraw entstehen Bitmaps mit 8 Bit Farbtiefe, aber scheinbar ohne Farbpalette. Die gibt’s natürlich doch, aber nur indirekt und implizit als Geos-interne Farbpalette. Auf diese kann in R-Basic nicht direkt mit GetPaletteEntry() zugegriffen werden, sondern der Pixel möchte Farbe für Farbe mittels RedOf(), GreenOf() und BlueOf() zusammengebaut werden. Diese Lösung des Rätsels wurde mir hier im Forum von der Programmierer-Elite dankenswerterweise offenbart!

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

51

Samstag, 17. Dezember 2022, 01:15

Dune HD Skin 4

Von einem Paradoxon möchte ich noch berichten. Nachdem alle Dune-Funktionen fertiggestellt waren, bekam ich zufällig noch einen Windows-PC und etwas Zeit in die Finger. Mmmh, soll ich da noch meine Dune-Bilder mit dem vom Hersteller bereitgestelltem Konvertierungsprogramm testen? Wird Testen nicht generell überschätzt? Wartet in der Küche nicht noch ein einsamer Lebkuchen?
Das Programmiererehrgefühl siegte glücklicherweise (knapp) und so wurde ich mit großen Augen belohnt. Die Farben sahen ganz anders aus! So invertiert! Blau statt Orange! Das sieht doch nach vertauschten Rot- und Blau-Kanälen aus! Und so war es auch. Nach kleinen Code-Anpassungen erschienen die erwarteten Farben auf dem Monitor. Doch so richtig verstehen ... verstehen tue ich es nicht.
In der Dune-Doku steht über den Bildaufbau:
  • Pixel-Daten im RGBA-Format
  • Datentyp int32
  • Speicherung im Little-Endian-Format

Aber offenbar liegen die Daten im BGRA-Format in der Datei. Ich vermute fast, das hat etwas mit dem Little Endian zu tun. Aber wenn bei RGB die roten Bits im niedersten Byte stehen, müßten sie dann nicht als erstes gespeichert werden? Also genau in der RGB-Reihenfolge? Und wenn RGB zu BGR umgedreht wurde, warum bleibt dann A hinten? Warum entstand nicht ABGR? Schwierige Fragen, hoffentlich stellt sie mir nicht einmal die Sphinx von Theben!

52

Samstag, 17. Dezember 2022, 08:45

Das literarische Niveau ist hier jüngst gewaltig gestiegen!

Ich bin gespannt welche Formate Du noch erschließen wirst, vor allem auch für den Export... Schon jetzt ist das Ding ein Klasse-Tool!
Bye,
MeyerK

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

53

Sonntag, 18. Dezember 2022, 00:32

Dune HD Skin 5

Beim nochmaligen Lesen der Spezifikation entdeckte ich eine bislang ignorierte Beschränkung: Breite und Höhe eines Dune-Bildes dürfen maximal 2047 Pixel betragen.
Das liegt nicht im Format selber begründet. Die Größenangaben wurden dort mit üppigen 32 Bit ausgestattet, so daß ein Quadrat mit ca. 4,29 Milliarden Pixeln Seitenlänge angelegt werden könnte. Das scheint die Dune-Player leider zu überfordern, daher wohl die dezente Beschränkung.
Das Programm prüft diese Grenze nun beim Einlesen eines Bildes sowie beim Speichern, erlaubt dabei aber generös auch die Erstellung größerer Bilder.

54

Sonntag, 18. Dezember 2022, 10:10

https://nullprogram.com/blog/2022/12/18/

Hier wird das Okay Image Format gefeiert... und ääähhhheemmmm räsuper..... auch NETPBM.... Ich sage es ja nur!

Rainer, wäre es eigentlich möglich, R-Basic Code/Libraries auch von von GOC/ESP aus aufzurufen und Daten auszutauschen? Dann könnte man Sebi's Code direkt in den IMPEX Modulen nutzen und müsste bloß die Anbindung in GOC/ESP schreiben...
Bye,
MeyerK

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

55

Sonntag, 18. Dezember 2022, 20:05

farbfeld 1


Ich bin gespannt welche Formate Du noch erschließen wirst, vor allem auch für den Export... Schon jetzt ist das Ding ein Klasse-Tool!

Also wenn du schon so fragst ... :D

Einer geht noch! Heute habe ich das neue Format farbfeld hinzugefügt, weil:
  • Konstantin mal einen Weihnachtswunsch äußert!
  • überraschenderweise das Format einen deutschen Namen trägt.
  • der Aufbau ähnlich simpel wie bei den letzten Formaten Naïve Image Format und Dune HD Skin ist. Denn alle Pixel-Daten liegen unkomprimiert als RGBA vor. Somit kann ich die Funktionen mit leichten Anpassungen wiederverwenden.
  • es doch eine Besonderheit gibt: alle Farbkanäle haben 16 Bit Auflösung. Das hatte der Naïvling zwar auch, aber optional und ohne materialisiertes Beispiel. Hier gibt es welche!

Machen wir’s kurz zu später Stunde, bevor wir uns noch einen Mondbrand holen: Das Programm kann zum Bildformat farbfeld
  • die Bildinformationen anzeigen.
  • das Bild selber anzeigen.
  • die Transparenzmaske anzeigen.

Anbei wieder ein anschauliches Beispiel. Viel Freude beim Betrachten, Konstantin ;)!

PS: Das Bildschirmfoto sieht nicht ganz so anschaulich aus, da mein Geos nur mit 64k Farben läuft. Falk ist (vielleicht) noch am Treiberfixen. Als BMP gespeichert und auf dem Mac geöffnet, lassen sich dann die zarten Farbverläufe bestaunen.
»sebi« hat folgende Bilder angehängt:
  • farbfeld-Nachfrage.png
  • farbfeld-Darstellung.png
  • farbfeld-Mac.png

56

Sonntag, 18. Dezember 2022, 20:58

Rainer, wäre es eigentlich möglich, R-Basic Code/Libraries auch von von GOC/ESP aus aufzurufen und Daten auszutauschen? Dann könnte man Sebi's Code direkt in den IMPEX Modulen nutzen und müsste bloß die Anbindung in GOC/ESP schreiben...

Also ... prinzipiell ist natürlich (fast) alles möglich. Für sinnvoll halte ich es nicht. Man müsste den gesamten R-BASIC "Interpreter" includen (ca 10 Libraries, wenn das reicht) und es wäre eben so langsam wie R-BASIC. Für besser halte ich den Ansatz, Sebis BASIC-Code nach C zu konvertieren, dort C-spezifische Optimierungen zu nutzen und das Resultat in IMPEX (für Normalos: Menü Grafik importieren / exportieren) anzubinden. Außederm brauchen wir eine Schnittstellen, die die IMPEX-Library (also die Bildformate) ohne ImpEx Controller für SDK-Programme verfügbar macht. Aber das gehört nicht hier her.
Gruß
Tainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

57

Sonntag, 18. Dezember 2022, 22:15

Für die direkte Einbindung in Geos würde ich sagen: in C neuschreiben :)!
In meinen Kodier- und Dekodierroutinen steckt ja auch noch jede Menge Verwaltungs-Code. Das alles auseinanderzupfriemeln, daß es zu den Geos-Schnittstellen paßt – das ist Neuschreiben einfacher. Zudem werden in R-Basic wohl einige Konstrukte benutzt, die es im GOC nicht gibt. So setze ich ständig das VRAM ein, um auf die Bilddaten zuzugreifen, das wird‘s doch im GOC bestimmt nicht geben!

Es wäre schön, falls Impex eine standardisierte Plug-in-Schnittstelle wäre. Daß man nur den Kodier-/Dekodier-Code nach bestimmten Vorgaben schreibt und die ganze Verwaltungsarbeit rundherum erledigt das System automatisch. Das bräuchte man nur ein Modul in ein festgelegtes Verzeichnis installieren und fertig :).

sebi

Fortgeschrittener

  • »sebi« ist der Autor dieses Themas

Beiträge: 199

Beruf: Software-Entwickler

  • Nachricht senden

58

Montag, 19. Dezember 2022, 11:18

farbfeld 2

Das liebe Unvollständigkeitsvermeidungssyndrom hat wieder zugeschlagen! Das Programm konnte nun farbfeld-Bilder erkennen und anzeigen. Was will man mehr? Da fühlt man sich doch glücklich und zufrieden! Doch oh weh, wie unzufrieden war ich. Anstatt mich an dem prächtigen Bild zu erfreuen, blickte das Auge immer auf den einen fehlenden Puzzlestein. Wie ein Schwarzes Loch saugte die Leerstelle meine Gedanken an. Je mehr ich mich dem Ereignishorizont näherte, um so schwächer wurde mein Widerstand. Dann tat ich es: Ich klappte mein GeoBook auf und implementierte das Speichern von Bildern im farbfeld-Format. Nun läßt sich alles damit machen. Es ist komplett. Rufe und Zufriedenheit breiten sich in mir aus ... mmmh, gibt es nicht noch andere interessante Formate ;( ?

59

Montag, 19. Dezember 2022, 11:54

Natürlich!
Wie ware es zum Beispiel mit NETPBM?

:love:
Bye,
MeyerK

60

Montag, 19. Dezember 2022, 21:55

Für die direkte Einbindung in Geos würde ich sagen: in C neuschreiben :)!
... Zudem werden in R-Basic wohl einige Konstrukte benutzt, die es im GOC nicht gibt. So setze ich ständig das VRAM ein, um auf die Bilddaten zuzugreifen, das wird‘s doch im GOC bestimmt nicht geben!

Der Vorteil vom Portieren ist, dass deine Algorithmen getestet sind. Das ist nicht zu verachten, da es das Testen vereinfacht. Also anpassen statt neu schreiben. VRAM gibt's nicht, dafür Pointer und mehr, womit man z.B. auch Arrays an Unterprogramme übergeben kann. Den Verwaltungscode müsste man sich natürlich ansehen, ob er passig ist. Fazit: Portieren mit Nachdenken wäre meine Wahl.
Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

Zur Zeit sind neben Ihnen 3 Benutzer in diesem Thema unterwegs:

3 Besucher

Thema bewerten