Hallo,
ich möchte mein TGA Bild zu einem Jpg oder Bmp Bild konvertieren. Wie mache ich dies? Habe es mit Filemove probiert, aber dann lassen sich die Dateien in den neuen Formaten nicht mehr öffnen ;/
Hallo,
ich möchte mein TGA Bild zu einem Jpg oder Bmp Bild konvertieren. Wie mache ich dies? Habe es mit Filemove probiert, aber dann lassen sich die Dateien in den neuen Formaten nicht mehr öffnen ;/
Du kannst es doch nicht einfach umbenennen Wenn du ein jpg zu bmp umbenennst ist es ja trotzdem noch ein jpg.
So einfach geht das nicht, am besten du benutzt die FreeImage Libary von Progandy, die kann ziemlich viel
Das Ding ist ,es müssen mehrere TGA´s zu Jpg´s umgewandelt werden, daher möchte ich es gerne selber in mein Script einbinden.
Ja und wo ist das Problem? Du tust das doch in deinem Script benutzen, hier mal ein Beispiel wie sowas aussieht:
#include <FreeImage.au3>
[/autoit] [autoit][/autoit] [autoit]_FreeImage_LoadDLL(@ScriptDir&"\FreeImage.dll")
_FreeImage_Initialise()
$sFile = "ChangeMe3.JPG"
[/autoit] [autoit][/autoit] [autoit]$FIF = _FreeImage_GetFileTypeU($sFile)
If $FIF = $FIF_UNKNOWN Then
$FIF = _FreeImage_GetFIFFromFilenameU($sFile)
EndIf
$hImage = _FreeImage_LoadU($FIF, $sFile)
$hImageRotiert = _FreeImage_RotateClassic($hImage,270)
$dot = StringInStr($sFile,".",1,-1)
$Name = StringLeft($sFile,$dot-1)
$Ext = StringMid($sFile,$dot)
_FreeImage_SaveU($FIF, $hImageRotiert, $Name &"_rsz"&$Ext)
_FreeImage_Unload($hImage)
_FreeImage_Unload($hImageRotiert)
_FreeImage_DeInitialise()
[/autoit]( Rotiert ein Bild )
Gibts da noch eine einfachere Lösung?
Einfach eine Wrapper-Funktion schreiben, der als Parameter der alte und der neue Name der Datei übergeben wird. einfacher gehts wohl nicht.
Ich habe mal die FreeImage.au3 in eine "Read from Memory" Version umgewandelt. D.h. sie beinhaltet die DLL.
Example 2:
[autoit]
#include "FreeImageFromMem.au3"
_FreeImage_Initialise()
[/autoit][autoit][/autoit][autoit]$sFile = "800x600.tga"
[/autoit][autoit][/autoit][autoit]$FIF = _FreeImage_GetFileTypeU($sFile)
If $FIF = $FIF_UNKNOWN Then
$FIF = _FreeImage_GetFIFFromFilenameU($sFile)
EndIf
$hImage = _FreeImage_LoadU($FIF, $sFile)
_FreeImage_SaveU($FIF_JPEG, $hImage, "800x600_new.jpg")
_FreeImage_Unload($hImage)
_FreeImage_DeInitialise()
Gruß,
UEZ
Danke UEZ. Genau sowas habe ich gesucht.