WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples from Users

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Make Icon

 Keywords: Make Icon MakeIcon imgConvert imgSample

;;; MAKEICON.WBT
;;; 07-17-09 added extra option in "types" useful for deleting unwanted icons
;;; 07-17-09 Final rev.
;;; by Garry J. Nichol
;;; NTP@compuserve.com
;;;
;;; Creates new ICON file from any size BMP or JPG file
;;;
;;; For best results original image should be first cropped to a square so the icon is not dimensionally distorted
;;;
;;; -creates a text file called  c:\program files\winbatch\lastpath.ini  for storing default (last) directory selected from

AddExtender("wwimg44i.dll")
AddExtender("wwsop34i.dll")

;;;Set directory to last one selected from or current directory if first time running script
curdir=DirGet()
If FileExist("c:\program files\winbatch\lastpath.ini")
    fh1=FileOpen("c:\program files\winbatch\lastpath.ini", "READ")
    lastpath=FileRead(fh1)
    FileClose(fh1)
Else
    fh1=FileOpen("c:\program files\winbatch\lastpath.ini", "WRITE")
    lastpath=curdir
    FileWrite(fh1, curdir)
    FileClose(fh1)
EndIf

types="BMP or JPG Files|*.bmp;*.jpg|JPG Files|*.jpg|BMP Files|*.bmp|ICO Files|*.ico|All Files|*.*"
filetemp=""
files1=AskFilename("Select file(s) to make ICON(s) from:", lastpath, types, "", 2)
listlen=ItemCount(files1, @TAB)

aStatusbar(0, "Processing Files", "Processing image file(s)... ", listlen, 0)
flag1=0
BoxesUp("358,25,642,425", @NORMAL)
BoxCaption(1, "Current ICON file ")
BoxUpdates(1,2)
BoxDataTag(1, "TAG1")

;;;Loop thru list of files selected
      For i = 1 To listlen
      fileorig=ItemExtract(i, files1, @TAB)
      fileext=FileExtension(fileorig)
      fileext=StrCat(".", fileext)
      filetemp=StrReplace(fileorig, fileext, "-B.bmp")
      filebmp=StrReplace(fileorig, fileext, ".bmp")

      If fileext==".jpg"
         ImgConvert(fileorig, filebmp)
         ImgSample(filebmp,  filetemp, 256, 256)
         BoxBitMap(1, "0,0,1000,1000", filetemp, 3)
         FileDelete(filebmp)
      Else
         filetemp=StrReplace(fileorig, fileext, "-B.bmp")
         ImgSample(fileorig, filetemp, 256, 256)
      EndIf
      BoxDataClear(1, "TAG1")
      BoxBitMap(1, "0,0,1000,1000", filetemp, 3)

      ;;;Display current file
      fileico=StrReplace(filetemp, "-B.bmp", ".ico")

      If FileExist(fileico) & flag1==0

         BoxDrawText(1, "100,050,900,150", "File %fileico%",  @FALSE, 1|4)
         BoxDrawText(1, "100,200,900,250", "Already exists. Do you want to overwrite it?!", @FALSE, 1|4)
         BoxButtonDraw(1, 1,  "Yes", "125,600,225,750")
         BoxButtonDraw(1, 2,  "Yes to all", "400,600,600,750")
         BoxButtonDraw(1, 3,  "No", "775,600,875,750")

         bwho=0
           While bwho==0
             For x = 1 To 3
                If BoxButtonStat (1,x) Then bwho=x
             Next x
           EndWhile
         Switch bwho
           Case 1
               FileDelete(fileico)
               FileRename(filetemp, fileico)
               FileDelete(filetemp)
               Break
           Case 2
               FileDelete(fileico)
               FileRename(filetemp, fileico)
               FileDelete(filetemp)
               flag1=1
               Break
           Case 3
               FileDelete(filetemp)
           Break
         EndSwitch

         BoxButtonKill(1,1)
         BoxButtonKill(1,2)
         BoxButtonKill(1,3)

    Else
           If flag1==1 & FileExist(fileico) Then FileDelete(fileico)
           FileRename(filetemp, fileico)
           FileDelete(filetemp)
      EndIf

     aStatusbar(1,  "Processing Files", "# %i%  of  %listlen%  image file(s)... ", listlen, i)

     Next

BoxBitMap(1, "0,0,1000,1000", fileico, 3)
Message("MakeIcon Done!                          ", "%listlen% file(s) processed")
BoxDestroy(1)

;;;Set default directory to last one selected from
curdir=FilePath(fileorig)
fh1=FileOpen("c:\program files\winbatch\lastpath.ini", "WRITE")
lastpath=curdir
FileWrite(fh1, curdir)
FileClose(fh1)

:CANCEL
If FileExist(filetemp) Then FileDelete(filetemp)

:End

Article ID:   W17633
Filename:   Make Icon.txt
File Created: 2014:01:29:15:34:52
Last Updated: 2014:01:29:15:34:52