1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 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
|