DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Bilder Speichern mit Datatypes | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2004-10-19, 09:47 h bubblebobble Posts: 707 User |
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 [ - Answer - Quote - Direct link - ] |
2004-10-19, 18:57 h DariusBrewka Posts: 899 [Banned user] |
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! [ - Answer - Quote - Direct link - ] |
2004-10-20, 00:58 h whose Posts: 2156 User |
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 [ - Answer - Quote - Direct link - ] |
2004-10-20, 09:21 h gni Posts: 1106 User |
Zitat:Dur irrst Dich. Allerdings unterstützen die meisten Datatypes nur das Laden. Ausnahmen bestätigen die Regel ;-) [ - Answer - Quote - Direct link - ] |
2004-10-20, 10:25 h gni Posts: 1106 User |
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. ] [ - Answer - Quote - Direct link - ] |
2004-10-20, 15:48 h whose Posts: 2156 User |
Zitat: Bei der Gelegenheit: Wie ist denn der korrekte Ablauf zum Auswählen des gewünschten Datatypes zum Speichern? Grüße [ - Answer - Quote - Direct link - ] |
2004-10-20, 16:43 h gni Posts: 1106 User |
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!) [ - Answer - Quote - Direct link - ] |
2004-10-20, 22:14 h whose Posts: 2156 User |
Danke Dir für die Links. Da werd ich gleich mal reinschaun Grüße [ - Answer - Quote - Direct link - ] |
2004-10-21, 16:57 h thomas Posts: 7718 User |
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/ [ - Answer - Quote - Direct link - ] |
2004-10-21, 17:44 h bubblebobble Posts: 707 User |
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 [ - Answer - Quote - Direct link - ] |
2004-10-21, 18:00 h thomas Posts: 7718 User |
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/ [ - Answer - Quote - Direct link - ] |
2004-10-21, 21:50 h bubblebobble Posts: 707 User |
@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 [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Bilder Speichern mit Datatypes | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |