mirror of
https://github.com/love2d/megasource.git
synced 2026-08-15 15:51:13 +02:00
175 lines
3.7 KiB
VB.net
175 lines
3.7 KiB
VB.net
'-----------------------------------------------------------------------------
|
|
' 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|