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.

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

1

Montag, 14. November 2022, 22:43

Bildinfos

Nach dem inspirierenden XXI. Syhraer Geos-Treffen möchte ich den Schwung nutzen und nah am Ball bleiben. Daher dachte ich, es sei eine gute Idee, hier im Forum ein Thema zu meinem vorgestellten Programm „Bildinfos“ zu eröffnen und dort regelmäßig über Fortschritte zu berichten. So erhöhe ich meine Motivation, ihr erhaltet Infos, man kann sich (hoffentlich) austauschen und dabei das Forum beleben.

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

2

Montag, 14. November 2022, 22:50

Neues Format: QOI

Aufgrund des allgemeinen Interesses an diesem Bildformat habe ich heute das Format QOI – Quite OK Image implementiert.

QOI wurde erst vor 355 Tagen vorgestellt und sieht sich als schnellere Alternative zu PNG. Es stellt nur 24-Bit-Bilder dar und besitzt als Alleinstellungsmerkmal eine einfache Kodierung. Zur verlustfreien Komprimierung setzt es auf Lauflängen- und Differenzkodierungen. Andere moderne Formate, wie HEIC oder WebP, stammen dagegen aus dem Videobereich und besitzen sehr, sehr komplexe Kodierungen.

Seit heute vermag „Bildinfos“, die Eigenschaften eines QOI-Bildes auszulesen, sie anzuzeigen und das Bild selbst darzustellen.

Eine Besonderheit war die Handhabung der Transparenzen, die QOI-Bilder einsetzen können. Dies ist mein erstes Graphikformat mit Transparenz. In einem ersten Schritt habe ich mich entschlossen, die Transparenzen in feste RGB-Werte umzurechnen, um das Bild korrekt darzustellen. Als nächstes werde ich wohl erforschen, welche Möglichkeiten sich noch bieten und welche Optionen dafür angeboten werden sollen.
»sebi« hat folgendes Bild angehängt:
  • Bildinfos-QOI.png

3

Dienstag, 15. November 2022, 09:14

QOI als relativ 'simpel' aufgebautes und schnelles 24bit-Format sollte doch ein tolles auch für GEOS geeignetes systemübergreifendes Grafikformat abgeben, oder?

Dein Programm BildInfo würde ich natürlich auch gerne ausprobieren. :)
Bernd

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

4

Dienstag, 15. November 2022, 15:03

QOI als relativ 'simpel' aufgebautes und schnelles 24bit-Format sollte doch ein tolles auch für GEOS geeignetes systemübergreifendes Grafikformat abgeben, oder?

Wäre mal eine Idee!

Dein Programm BildInfo würde ich natürlich auch gerne ausprobieren.

Freue mich über Dein Interesse :). Das Programm ist noch in einem frühen Stadium, aber es soll bald eine 0.1-Version geben. Johannes alias Monet zaubert gerade ein Icon. Dann würde ich mich wegen einer neuen Webseite bei Dir melden wollen ^^ .

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

5

Dienstag, 15. November 2022, 15:10

Transparenz 1

Habe weiter an dem interessanten Thema Transparenz gearbeitet. Nun können als Hintergründe auch richtige Farben (statt Weiß) und das aus Photosh... bekannte Transparenzschachbrettmuster verwendet werden. Letzteres mogelt hier zwar etwas, weil es keine echte Transparenz anzeigt, sondern fest ins Bild eingeschrieben ist, aber a) zeigt es die transparenten Bereiche an und b) sieht es gut aus :). Die Anhänge zeigen die neuen Erfolge sehr schön.
Als nächstes schaue ich mal, wie ich mit R-Basic Bilder mit echten Transparenzen erzeuge. Das hatte ich noch nicht.
»sebi« hat folgende Bilder angehängt:
  • QOI-Transparenz-rot.png
  • QOI-Transparenz-gekachelt.png

6

Dienstag, 15. November 2022, 18:28

Hallo Sebi,
prinzipiell kann GEOS 24Bit Bilder mit Transparenz. R-BASIC sollte das auch unterstützen. Bei Mono und 8Bit Bildern geht das auch. Der Versuch, in die Transparenz-Maske von 24Bit Bitmaps zu schreiben, crasht aber nach meinen Versuchen das System (Info aus der erinnerung von vor ein paar Jahren :-) . Man kann da aber tricksen, ich bin mir aber nicht sicher, ob sich das im Handbuch geschrieben habe, oder ob ich das nur beim TIFF Konverter für Gonzo umgesetzt habe - ist zu lange her.
Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

7

Mittwoch, 16. November 2022, 15:05

Transparenz 2

Die große Transparenzoffensive geht weiter! Heute sind zwei tolle Funktionen hinzugekommen:
  • Die Transparenz eines QOI-Bildes kann nun optional in eine echte Geos-Transparenz umgewandelt werden! Um die originale 8-Bit-Transparenz auf 1 Bit zu reduzieren, wird ein (vorgebbarer) Schwellwert benutzt. So könnten bspw. alle Pixel, deren originale Transparenz mehr als 60 % beträgt, auch im Geos-Bild transparent werden, die restlichen bleiben voll sichtbar. Das funktioniert weniger gut bei langen Verläufen, aber ziemlich gut bei freigestellten Objekten wie dem QOI-Logo, wo (bis auf ein paar Kantenglättungs-Pixel) die Transparenz entweder 0 % oder 100 % beträgt.
  • Auf Wunsch kann die Transparenz auch invertiert werden. Die im Original sichtbaren Pixel werden also transparent und umgekehrt. Dies funktioniert in den beiden Modi „Geos-Transparenz“ und „Transparenz in Farben umrechnen“.

Im Anhang finden sich erhellende Beispiele. Die beiden Bilder mit Geos-Transparenzen wurden in GeoDraw eingefügt, um die echte Transparenz sichtbar zu machen.
»sebi« hat folgende Bilder angehängt:
  • GeoDraw-Logo transparent.png
  • GeoDraw-HG transparent.png
  • Logo-transparent.png

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

8

Mittwoch, 16. November 2022, 15:26

Hallo Sebi,
prinzipiell kann GEOS 24Bit Bilder mit Transparenz. R-BASIC sollte das auch unterstützen. Bei Mono und 8Bit Bildern geht das auch. Der Versuch, in die Transparenz-Maske von 24Bit Bitmaps zu schreiben, crasht aber nach meinen Versuchen das System (Info aus der erinnerung von vor ein paar Jahren :-) . Man kann da aber tricksen, ich bin mir aber nicht sicher, ob sich das im Handbuch geschrieben habe, oder ob ich das nur beim TIFF Konverter für Gonzo umgesetzt habe - ist zu lange her.
Gruß
Rainer

Hallo Rainer!
Danke für den Hinweis! Hast du (natürlich) im Handbuch beschrieben: Objekt-Handbuch 9, S. 445 :) .
Das System crasht, wenn man direkt in die Maske schreibt, aber wenn man die Maske zeilenweise im VRAM bearbeitet und dann die gesamte Bildzeile in die Bitmap rüberschiebt, dann sollte es klappen. Und genauso war es! Da ich die Bitmap sowieso zeilenweise über das VRAM aufbaue, konnte ich die Erstellung der Maske problemlos integrieren.

Eine Frage hätte ich, zu der ich bislang keine Antwort fand: Die Bitmap zeigt die transparenten Bereiche immer weiß an. Gibt es da eine Möglichkeit, eine andere Farbe vorzugeben? Die Hintergrundfarbe wird dafür nicht genommen. Im Anhangsbeispiel sieht man, wie der gelbe Hintergrund weiß wird. Der Code dazu ist quasi so:

Quellcode

1
2
mybitmap.defaultColor = red, yellow
mybitmap.bitmapFormat 400, 200, 23, BF_PALETTE


Besten Dank!
»sebi« hat folgendes Bild angehängt:
  • Hintergrundfarbe.png

9

Mittwoch, 16. November 2022, 19:14

Eine Frage hätte ich, zu der ich bislang keine Antwort fand: Die Bitmap zeigt die transparenten Bereiche immer weiß an. Gibt es da eine Möglichkeit, eine andere Farbe vorzugeben? Die Hintergrundfarbe wird dafür nicht genommen. Im Anhangsbeispiel sieht man, wie der gelbe Hintergrund weiß wird. Der Code dazu ist quasi so:


Hallo Sebi,
Meines Erachtens musst du das Masken-Flag bei deinem Bitmapcontent mit setzten:

Quellcode

1
mybitmap.bitmapFormat 400, 200, 23, BF_PALETTE + BF_MASK 


Dann wird der transparente Bereich in der grauen Hintergrundfarbe dargestellt.

Gruß, Bario

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

10

Mittwoch, 16. November 2022, 19:30

Danke! Den Code habe ich einfach nur falsch abgeschrieben. BF_MASK ist dabei, sonst würde es mit der Transparenz auch gar nicht klappen. Und die Farbtiefe beträgt natürlich 24 statt 23!

11

Mittwoch, 16. November 2022, 21:57

Hallo Sebi,

Probier mal im Ui-Code in der View unter viewattrs = ... + VA_SAME_COLOR_AS_PARENT_WIN

Damit würde die View transparent. Ansonsten ist der Hintergrund die Farbe aus viewColor

Gruß, Bario

12

Mittwoch, 16. November 2022, 22:36

Probier mal im Ui-Code in der View unter viewattrs = ... + VA_SAME_COLOR_AS_PARENT_WIN

Damit würde die View transparent. Ansonsten ist der Hintergrund die Farbe aus viewColor

Das wäre auch meine Antwort. Wobei ich ViewColor bevorzugen würde. Ich überlegen gerade am Schachbrettmuster, aber da fällt mir nichts simples ein, weil das View keinen OnDraw Handler hat (nicht eingebaut, weil wer braucht denn sowas??).
OK, man könnte ein VisContent nehmen (VisContent.OnDraw macht das Schachbrettmuster) und die Bitmap durch ein VisObj ausgeben ... ???
Gruß
Rainer

PS. VA_SAME_COLOR_AS_PARENT_WIN macht das View nicht transparnet (leider), sondern setzt viewColor auf die Farbe des Parents. Bei einem der Bücher von Burkard Oertel (?) gab es ein Bild, wo der GeoManger transparent ist, also das GEOS-Hintergrundbild durchscheint. Das wäre echt cool, aber ich fürchte, das geht nicht so einfach. (man soll aber nie nie sagen)
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

13

Freitag, 18. November 2022, 16:05

Transparenz 3

Heute gibt's weniger spektakuläre Neuerungen, sondern eher eine Transparenzkonsolidierung:
  • Die beim letzten Mal vorgestellten Möglichkeiten der Transparenzdarstellung habe ich jetzt im Code generalisiert, so daß sie auch leicht von anderen Bildformaten, sofern sie Transparenz unterstützen, leicht verwendet werden können.
  • Zudem legte ich fest, welche Optionen den Nutzern zugänglich sein sollen. Danach folgte noch Fleißarbeit: Optionsdarstellung im UI-Code umsetzen, das Laden der aktuellen Werte in den Optionsdialog und das Speichern der ausgewählten Werte.
    Bei den Optionen habe ich zwischen 1-Bit- und Mehr-Bit-Transparenz (wohl meist 8 Bit) unterschieden. Erstere kennt nur die Möglichkeiten sichtbar und transparent und kann 1:1 in eine Geos-Transparenz gewandelt werden. Leider habe ich aktuell kein Beispiel, um das zu testen. Die Zweite bringt Abstufungen der Sichtbarkeit, was einen Schwellwert für die Wandlung in eine Geos-Transparenz erfordert und einen wählbaren Hintergrund erlaubt.
    Die Möglichkeiten sind in den angehängten Bildern dargestellt.
»sebi« hat folgende Bilder angehängt:
  • Optionen 1 Bit.png
  • Optionen viele Bits.png

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

14

Sonntag, 20. November 2022, 20:04

Transparenz 4

Die Transparenz ließ mich nicht aus ihren Klauen (unsichtbare Monster sind einfach die hartnäckigsten!) und gab keine Ruhe, bis ich eine weitere phantastische Funktion implementierte:
  • Von Bildern mit Transparenzen (aktuell nur QOI-Bilder) läßt sich die Transparenzmaske anzeigen!
  • Die Transparenzmaske ist eine Graustufengraphik, in der transparente Bildbereiche weiß und sichtbare schwarz dargestellt werden. Bei 8-Bit-Transparenzen erscheinen die Zwischenstufen als Grautöne, 1-Bit-Transparenzen sind Schwarz-Weiß-Bilder.
  • Dafür habe ich das Programm erheblich erweitert. Bislang wurden Bilder, deren Farbpaletten und Sonderfälle, wie die Pinselmuster bei MacPaint-Bildern, angezeigt. Nun ist als neue Klasse die Transparenzmaske hinzugekommen, was intern etliche Anpassungen erforderte und auf dem Hauptfenster an einer neuen Schaltfläche „Maske anzeigen“ erkennbar ist.
  • Die Beispiele zeigen ein Kreuz mit transparentem Hintergrund und die zugehörige Maske. Hier befinden sich die grauen Pixel an den Kreuzkanten und sind daher kaum sichtbar, die Maske wirkt wie eine s/w-Graphik. Das Würfelbild (das ich wegen der Hochladegrößenbeschränkung arg verkleinern mußte) und seine Maske zeigen da schon mehr Transparenzeffekte.
»sebi« hat folgende Bilder angehängt:
  • Kreuz.png
  • DICE-kl.png
  • DICEMASK.png

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sebi« (22. November 2022, 09:47)


sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

15

Montag, 21. November 2022, 13:16

Transparenz 5

Nun habe ich die noch offene Frage nach der Hintergrundfarbe bei echten Geos-Transparenzen geklärt:
  • Rainer und Bario hatten ja die viewColor-Eigenschaft der die Bitmap beheimatenden View vorgeschlagen. Originelle Idee, entbehrt nach einigem Nachdenken aber nicht einer gewissen Logik: Ist die Bitmap transparent, dann scheint die Farbe der View durch. Auf jeden Fall funktioniert es! Vielen Dank Euch beiden!
  • Anbei das Logo mit echter Transparenz und farbigem Hintergrund.
  • Entsprechend habe ich auch den Optionsdialog um die neue Möglichkeit erweitert. Der ist inzwischen ganz schön angewachsen. Da wäre eine Aufteilung mittels des neuen Tab-Elements überlegenswert.
  • Hiermit sollte die Arbeit an den Transparenzen vorerst abgeschlossen sein. Es sei denn, Ihr habt noch Wünsche :)! Zudem steht noch der Test für die Darstellung von Bildern mit 1-Bit-Transparenzen aus. Den kann ich gerade aber nicht durchführen, da QOI-Bilder nur 8-Bit-Transparenzen haben. Dafür muß ich warten, bis mir mal ein entsprechendes Format über den Weg läuft.
»sebi« hat folgendes Bild angehängt:
  • Logo mit Geos-Transparenz und Hintergrundfarbe Rot.png

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

16

Dienstag, 22. November 2022, 00:15

Montagsputz

Nach den vielen neuen Funktionen der letzten zwei Wochen waren mal wieder Aufräumarbeiten nötig. Nicht gerade der Traum eines Programmierers, aber notwendig. Da es heute schon ganz gut gelaufen war, beschloß ich, im Strom weiter zu schwimmen und noch eine Abendschicht einzulegen. Nachfolgend einige Beispiele, damit der treue Leser zu erahnen vermag, was so zum schmutzigen Programmieralltag gehört – nach den prächtigen Präsentationen:
  • Die neuen QOI-Funktionen habe ich durchgesehen, Code geändert, bereinigt, verständlicher kommentiert.
  • Mit der letztes Jahr hinzugekommenen, genial-hilfreichen R-Basic-Funktion habe ich unbenutzte Variablen und Funktionen aufgespürt, bereinigt und entfernt. So ist nun der gesamte Programm-Code wieder etwas sauberer geworden.
  • Die Anzeigefunktionen der verschiedenen Bildformate hatten im Laufe der Zeit eine unterschiedliche Parameterstruktur entwickelt. Diese habe ich nun auf den neuesten Stand vereinheitlicht.
  • Die im Quell-Code de- und aktivierbare und beim Optimieren benutzte Möglichkeit, die Zeitdauer der Bilderstellung zu ermessen, ist nun eine allgemein verfügbare Nutzeroption geworden. Dazu mußten alle Bildfunktionen aktualisiert werden.
  • Die Bildformate Dr. Halo Pic und PCPaint 2 tragen beide dieselbe Dateiendung PIC. Die Umschaltung erfolgte bisher im manuell im Quell-Code. Nun erkennt eine neue Funktion, welches der beiden Formate vorliegt.
  • Ähnlich der Fall beim Degas-Format. Da die normale und die komprimierte Variante im Aufbau recht unterschiedlich sind, gibt es für jede eine eigene Anzeigefunktion. Auch hier erfolgt nun die Auswahl automatisch und nicht mehr manuell im Code.

Nach der Verschnaufspause bin ich auf die nächste Etappe gespannt! Wird es weitere Aufräumarbeiten (von denen noch einige warten) geben? Werden erst teilweise implementierte Formate, wie GEM Raster, endlich vervollständigt? Schmuggelt sich ein neues heißes Format, wie QOI – bei dem ich immer an den hübschen japanischen Karpfen denken muß – es tat, hinein? Wird nun der Umbau der Oberfläche in Angriff genommen? Wird endlich ein Konzept für die Angabe der Farbdarstellungen entwickelt? Lassen wir uns gemeinsam überraschen! Bleiben Sie dran!

17

Dienstag, 22. November 2022, 09:12

Ich liebe diesen Thread! Und dass Du das Koiformat hingekriegt hast, lässt den Karpfen höher springen!
Bye,
MeyerK

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

18

Dienstag, 22. November 2022, 14:35

Ich liebe diesen Thread! Und dass Du das Koiformat hingekriegt hast, lässt den Karpfen höher springen!

:) :thumbsup:

19

Freitag, 25. November 2022, 14:12

Ich find das alles auch mächtig spannend. allerdings schein ich mal wieder zu dumm zum gucken zu sein. :-)
Ich seh irgendwo den Downloaflink nicht, damit ich mein Interesse auch mal am lebenden Objekt befriedigen kann. :-)

Viele Grüße
Klaus / Locke

sebi

Schüler

  • »sebi« ist der Autor dieses Themas

Beiträge: 157

Beruf: Software-Entwickler

  • Nachricht senden

20

Samstag, 26. November 2022, 23:22

Ja, der Link, der paßt sich dem Thema an und ist transparent gehalten. Es gilt nur, ihn zu finden :).

Alternativ wartet der Link auf die Alpha-Version, die auf das Icon wartet, das auf seine Erschaffung durch den angeheuerten Künstler wartet, der auf seine himmlische Inspiration wartet. So hängt alles an höchster Stelle.

Thema bewerten