ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Bilder Speichern mit Datatypes | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
19.10.2004, 09:47 Uhr bubblebobble Posts: 707 Nutzer |
Ja, ich habe alte Threads durchgeguckt. Kann das Thema aber nicht finden. Deshalb nochmal die Frage, wie kann ich mit Datatypes ein geladenens Bild, also z.B. eine OS Bitmap oder Rastport wieder abspeichern, und zwar nicht mit dem internen IFF-ILBM sondern mit einem beliebigen Bild-Datatype ? Am besten ein kurzes Codeschnipsel, das würde mr reichen. Danke! -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
19.10.2004, 18:57 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Ich habe das zwar noch nicht untersucht, aber soweit ich weiss sind die Datatypes nur zum laden der Dateien, das speichern geschieht immer im Standardt Amiga Format, d.h. in ILBM. Hoffentlich irre ich mich! [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 00:58 Uhr whose Posts: 2156 Nutzer |
Hi Thilo, also, ich hab das Ganze selbst noch nie benutzt, aber es gibt die Methode DTM_WRITE bei den Datatypes. Normalerweise ist diese Methode für den Zweck, wie Du ihn anstrebst, vorgesehen Prinzipiell ist es also möglich, Bilddaten mittels Datatype schreiben zu lassen. Jetzt hängts natürlich von den eingesetzten Datatypes ab, ob diese das Schreiben der Daten überhaupt implementieren. Die Methode als solche müßte normal durch das Datatype behandelt werden, soweit ich weiß haben aber nur die wenigsten Datatypes diese Methode tatsächlich funktionstüchtig implementiert. Müßtest mal in der jeweiligen Doku nachschauen, ob der jeweilige Datatype diese Methode vollständig implementiert hat. Für Versuchszwecke tuts aber auch der Standard-IFF-Datatype, der DTM_WRITE implementiert hat. --- /* DTM_WRITE */ struct dtWrite { ULONG MethodID; struct GadgetInfo *dtw_GInfo; /* Gadget information */ BPTR dtw_FileHandle; /* File handle to write to */ ULONG dtw_Mode; struct TagItem *dtw_AttrList; /* Additional attributes */ }; --- Das ist die entsprechende Msg-Struktur für die DTM_WRITE Methode. Soweit ich weiß, gibst Du in dtw_Mode DTWM_IFF an, dann speichert das Datatype die ganze Chose als IFF. Mit DTWM_RAW entsprechend als RAW. Über dtw_AttrList habe ich leider nichts gefunden, aber irgendwo tief in der DeveloperCD2.1 sollten sich Informationen darüber finden lassen. Grüße [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 09:21 Uhr gni Posts: 1106 Nutzer |
Zitat:Dur irrst Dich. Allerdings unterstützen die meisten Datatypes nur das Laden. Ausnahmen bestätigen die Regel ;-) [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 10:25 Uhr gni Posts: 1106 Nutzer |
Zitat:Fast richtig. Falls ein DT Speichern unterstützen sollte, dann muß in der Nachricht DTWM_RAW stehen, damit der Sub-DT in seinem Format speichert. Wenn der DT darauf prüft, könnte er einen Fehler generieren, das Speichern nicht unterstützt wird. Bei DTWM_IFF und wenn WRITE garnicht behandelt wird (so machens die meisten DTs), dann landet der Request beim obersten DT (hier: picture.datatype) und der speichert in "seinem" Format: IFF/ILBM. [ Dieser Beitrag wurde von gni am 20.10.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 15:48 Uhr whose Posts: 2156 Nutzer |
Zitat: Bei der Gelegenheit: Wie ist denn der korrekte Ablauf zum Auswählen des gewünschten Datatypes zum Speichern? Grüße [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 16:43 Uhr gni Posts: 1106 Nutzer |
Zitat:Im AmiNet gibt es irgendwelche Beispiele von Roland Mainz bezüglich dieses Themas. Vermutlich ist es das hier: DTConvert und das datatypes.library 45.x (von Roland Mainz!) [ - Antworten - Zitieren - Direktlink - ] |
20.10.2004, 22:14 Uhr whose Posts: 2156 Nutzer |
Danke Dir für die Links. Da werd ich gleich mal reinschaun Grüße [ - Antworten - Zitieren - Direktlink - ] |
21.10.2004, 16:57 Uhr thomas Posts: 7718 Nutzer |
Zitat: Es gibt keinen. Man kann Datatypes nur in dem Format speichern, in dem sie geladen wurden, oder IFF ILBM. Die o.g. Links beinhalten eine alternative datatypes.library, die eine Auswahl unterstützt. Allerdings ist diese schon ziemlich alt und soviel icht weiß nicht mit OS3.5+ kompatibel. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
21.10.2004, 17:44 Uhr bubblebobble Posts: 707 Nutzer |
In der OS3.5 Docu steht drin:Zitat: Also müsste das doch gehen. Wahrscheinlich ist es simpel, aber ich komm nicht drauf. Ein kurzes Codeschnipsel und alles wäre gut. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
21.10.2004, 18:00 Uhr thomas Posts: 7718 Nutzer |
Zitat: Wo genau steht das (in welcher Datei) ? Zitat: Theoretisch ja. Aber wie wählt man den Ausgabe-Datentyp ? Wie bekommt man eine Liste der verfügbaren Datentypen ? Zitat: Da bist du nicht alleine. Zitat: Oh ja, bitte, mir auch eins. Ich habe mir folgendes überlegt, wie es gehen könnte. Es widerspricht allerdings deinem Zitat, denn da ist die Rede davon, daß man eine geladene Datei mit einem anderen Dateityp abspeichern kann. Also, bei NewDTObject ohne Datei (also mit Bitmap und ggf. Palette) kann man über DTA_Datatype einen Datentyp wählen. Man benötigt dazu eine gültige Datatype-Struktur. Diese könnte man z.B. mit ObtainDataType bekommen. Ich habe das noch nicht ausprobiert aus folgendem Grund: ObtainDataType braucht eine Datei. Man muß also erst eine JPEG-Datei lesen, um ein Bild als JPEG abspeichern zu können. Das mit der Liste habe ich auch "gelöst", allerdings mit einem üblen Hack: ich habe mir mit ObtainDataType("") einen Datatype geholt. Dann bin ich über die Nodes zum Anfang der Liste gegangen und habe dann die ganze Liste ausgelesen, wobei ich nur Picture-Datatypes berücksichtigt habe. Problem an der Sache ist nur, daß die Nodes eindeutig als private gekennzeichnet sind. Und das Setzen mit DTA_DataType mit einem Datatype aus der Liste hat auch nicht geklappt. Und es muß ja auch einen Grund geben, warum Roland Mainz seine eigene Version der datatypes.library geschrieben hat. Vermutlich hat er gewußt, daß es nicht geht. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
21.10.2004, 21:50 Uhr bubblebobble Posts: 707 Nutzer |
@thomas: Das steht in der Schublade Includes_And_Datatypes_3.5 in dem guide "datatype" under "background". -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, UDM, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Bilder Speichern mit Datatypes | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |