mirror of
https://github.com/love2d/megasource.git
synced 2026-08-17 11:11:35 +02:00
Add DevIL 1.7.8.
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
'-----------------------------------------------------------------------------
|
||||
' Convert Image using DevIL
|
||||
' DevIL Sample program using Powerbasic.
|
||||
'
|
||||
' by Peter Scheutz, Scheutz & Clementsen Design
|
||||
' Web: http://www.scheutz.dk
|
||||
' e-mail: sourcecode@scheutz.dk
|
||||
'
|
||||
' Last modified: 06/22/2002
|
||||
' Based on DevIL Ver. 1.6.1 PB incs
|
||||
' Filename: imgview.bas
|
||||
'
|
||||
' Released under the GNU Lesser General Public License:
|
||||
' http://www.gnu.org/copyleft/lesser.html
|
||||
'
|
||||
' For information on use and download of DevIL goto: http://openil.sourceforge.net/
|
||||
' (Get docs and "End User Package")
|
||||
'
|
||||
' Report errors in the Powerbasic includes to e-mail above.
|
||||
'
|
||||
' For general help on Powerbasic and DevIL, try the forums at:
|
||||
' http://www.powerbasic.com
|
||||
'-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
#Register None
|
||||
#Compile Exe "imgconv.exe"
|
||||
Option Explicit
|
||||
|
||||
|
||||
#Include "il.inc"
|
||||
#Include "ilu.inc"
|
||||
#Include "ilut.inc"
|
||||
|
||||
$If Not %Def(%TRUE)
|
||||
%TRUE = 1
|
||||
%FALSE = 0
|
||||
#EndIf
|
||||
|
||||
|
||||
|
||||
$If Not %Def(%MAX_PATH )
|
||||
%MAX_PATH = 260
|
||||
#EndIf
|
||||
|
||||
%OVERWRITE = %False '%True
|
||||
|
||||
Function PbMain() As Long
|
||||
|
||||
Local ILErr As Dword
|
||||
Local info As ILinfo
|
||||
Local ID As Dword
|
||||
Local errString As Asciiz*1024
|
||||
Local Infile As Asciiz*%MAX_PATH
|
||||
Local Outfile As Asciiz*%MAX_PATH
|
||||
|
||||
Infile="C:\test.bmp" ' OBS: Change this !
|
||||
Outfile="C:\test.tga" ' OBS: Change this !
|
||||
|
||||
ilInit
|
||||
|
||||
ilPushAttrib %IL_ALL_ATTRIB_BITS
|
||||
ILErr=ilGetError()
|
||||
If ILErr <> 0 Then
|
||||
errString = iluErrorString(ILErr)
|
||||
MsgBox "Error in ilPushAttrib" & $CRLF & errString
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
ilGenImages ByVal 1, ID
|
||||
ILErr=ilGetError()
|
||||
If ILErr <> 0 Then
|
||||
errString = iluErrorString(ILErr)
|
||||
MsgBox "Error in ilGenImages" & $CRLF & errString
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
|
||||
ilBindImage ID
|
||||
ILErr=ilGetError()
|
||||
If ILErr <> 0 Then
|
||||
errString = iluErrorString(ILErr)
|
||||
MsgBox "Error in ilBindImage" & $CRLF & errString
|
||||
GoTo done
|
||||
End If
|
||||
|
||||
' ilEnable %IL_FORMAT_SET
|
||||
' ilEnable %IL_ORIGIN_SET
|
||||
' ilEnable %IL_TYPE_SET
|
||||
|
||||
' ilFormatFunc %IL_RGB
|
||||
' ilOriginFunc %IL_ORIGIN_LOWER_LEFT
|
||||
' ilTypeFunc %IL_UNSIGNED_BYTE
|
||||
'
|
||||
' ilEnable %IL_CONV_PAL
|
||||
|
||||
' Do
|
||||
' ILErr = ilGetError()
|
||||
' If ILErr<>0 Then
|
||||
' errString = iluErrorString(ILErr)
|
||||
' MsgBox "Error in ..Func or ilEnable" & $CRLF & errString
|
||||
' End If
|
||||
' Loop While (ILErr <> 0)
|
||||
|
||||
|
||||
|
||||
ilLoadImage infile
|
||||
ILErr=ilGetError()
|
||||
If ILErr <> 0 Then
|
||||
errString = iluErrorString(ILErr)
|
||||
MsgBox "Error in ilLoadImage" & $CRLF & errString
|
||||
GoTo done
|
||||
End If
|
||||
|
||||
' unrem to test these effects.
|
||||
|
||||
' iluRotate 50
|
||||
' iluPixelize 5
|
||||
' iluEnlargeImage 2,2,4
|
||||
' iluBlurGaussian 4
|
||||
|
||||
' Do
|
||||
' ILErr = ilGetError()
|
||||
' If ILErr<>0 Then
|
||||
' errString = iluErrorString(ILErr)
|
||||
' MsgBox "Error in Effect" & $CRLF & errString
|
||||
' End If
|
||||
' Loop While (ILErr <> 0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
If %OVERWRITE=%True And ilIsDisabled(%IL_FILE_OVERWRITE) Then
|
||||
ilEnable %IL_FILE_OVERWRITE
|
||||
ilSaveImage outfile
|
||||
'ilDisable %IL_FILE_OVERWRITE ' done by ilPushAttrib/ilPopAttrib
|
||||
Else
|
||||
ilSaveImage outfile
|
||||
|
||||
End If
|
||||
|
||||
ILErr=ilGetError()
|
||||
If ILErr <> 0 Then
|
||||
errString = iluErrorString(ILErr)
|
||||
MsgBox "Error in ilSaveImage" & $CRLF & errString
|
||||
GoTo done
|
||||
Else
|
||||
MsgBox "Picture converted"
|
||||
End If
|
||||
|
||||
done:
|
||||
ilDeleteImages 1 , ID
|
||||
|
||||
ilPopAttrib
|
||||
|
||||
|
||||
' clear additional errors
|
||||
Do
|
||||
ILErr = ilGetError()
|
||||
Loop While (ILErr <> 0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user