November 25, 2020, 04:38:38 AM

Author Topic: [bb] Data from an Image by Nicstt [ 1+ years ago ]  (Read 381 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] Data from an Image by Nicstt [ 1+ years ago ]
« on: June 29, 2017, 12:28:40 AM »
Title : Data from an Image
Author : Nicstt
Posted : 1+ years ago

Description : Will generate a textfile from a picture that can be pasted into your code. Designed specifically for smaller images, but if you really must then it will handle larger images.

Code :
Code: BlitzBasic
  1. ;***********************************************************
  2. ;**                                                       **
  3. ;**            Data Maker by Nicholas Tindall             **
  4. ;** Turn Pictures into Data for copying into your program **
  5. ;**           Copyright Nicholas Tindall 2005             **
  6. ;**                                                       **
  7. ;***********************************************************
  8.  
  9.  
  10.  
  11. Const EVENT_None                = $0            ; No event (eg. a WaitEvent timeout)
  12. Const EVENT_KeyDown             = $101          ; Key pressed
  13. Const EVENT_KeyUp               = $102          ; Key released
  14. Const EVENT_ASCII               = $103          ; ASCII key pressed
  15. Const EVENT_MouseDown   = $201          ; Mouse button pressed
  16. Const EVENT_MouseUp             = $202          ; Mouse button released
  17. Const EVENT_MouseMove   = $203          ; Mouse moved
  18. Const EVENT_Gadget              = $401          ; Gadget clicked
  19. Const EVENT_Move                = $801          ; Window moved
  20. Const EVENT_Size                = $802          ; Window resized
  21. Const EVENT_Close               = $803          ; Window closed
  22. Const EVENT_Front               = $804          ; Window brought to front
  23. Const EVENT_Menu                = $1001         ; Menu item selected
  24. Const EVENT_LostFocus   = $2001         ; App lost focus
  25. Const EVENT_GotFocus    = $2002         ; App got focus
  26. Const EVENT_Timer               = $4001         ; Timer event occurred
  27.  
  28.  
  29. Global gfxBankDisplay           =       0
  30. Global gfxBank3                         =       0
  31. Global gfxBank4                         =       0
  32. Global encrypting                       =       0
  33. Global cleaning                         =       0
  34. Global height1                          =       0
  35. Global width1                           =       0
  36. Global heightY                          =       0
  37. Global widthX                           =       0
  38. Global totalA                           =       0
  39. Global progress                         =       0
  40. Global count                            =       0
  41. Global counter                          =       0
  42. Global timeSet                          =       0
  43. Global timeS                            =       0
  44. Global timeM                            =       0
  45. Global timeH                            =       0
  46. Global timeSec$                         =       "00"
  47. Global timeMin$                         =       "00"
  48. Global timeHour$                        =       "00"
  49. Global baseR                            =       0
  50. Global baseG                            =       0
  51. Global baseB                            =       0
  52. Global hexDec$                          =       ""
  53. Global canvasPicEncrypt
  54. Global picdataBank
  55. Global dirPath$                         =       ""
  56.  
  57. Dim progBar (102)
  58. Dim progBar2# (101)
  59. For a = 0 To 100
  60.         progBar2#(a) = Float(a) * 0.01
  61. Next
  62. progBar2#(101) = 1
  63.  
  64. mainwindow= CenterWindow ("Data Maker v1.0", 640, 480, 0, 11) ; name, width, height, group, style
  65. SetMinWindowSize mainwindow, 640, 200
  66.  
  67. ; data at the end if copied into a text file will produce a bmp that i turned into the icon, you need the specific .decl for it - see a post by grey alien
  68. ;icon = ExtractIconA (QueryObject (mainwindow, 1), "Data Maker.ico", 0) ; used to display own icon if have the required userlibs in blitz
  69. ;SetClassLongA ( QueryObject (mainwindow, 1), - 14, icon) ; thx to Grey Alien for that:)
  70.  
  71. Global buttonLoadPic    =       CreateButton( "Load Picture",   ClientWidth(mainwindow)*0.00+25, 5, 85, 32, mainwindow, 1 )
  72. Global buttonLoadData   =       CreateButton( "Load Data", ClientWidth(mainwindow)*0.15+25, 5, 85, 32, mainwindow, 1 )
  73. Global buttonSavePic    =       CreateButton( "Save Picture",   ClientWidth(mainwindow)*0.30+25, 5, 85, 32, mainwindow, 1 )
  74. Global buttonSaveData   =       CreateButton( "Save Data Info", ClientWidth(mainwindow)*0.45+25, 5, 85, 32, mainwindow, 1 )
  75. Global buttonCompData   =       CreateButton( "Compile Data",   ClientWidth(mainwindow)*0.60+25, 5, 85, 32, mainwindow, 1 )
  76. Global buttonConvertData=       CreateButton( "Convert Data",   ClientWidth(mainwindow)*0.00+25, 45, 85, 32, mainwindow, 1 )
  77. Global buttonViewPic    =       CreateButton( "View Picture",   ClientWidth(mainwindow)*0.15+25, 45, 85, 32, mainwindow, 1 )
  78. Global buttonStopComp   =       CreateButton( "Stop Compilation",ClientWidth(mainwindow)*0.30+25, 45, 85, 32, mainwindow, 1 )
  79. Global buttonStopConv   =       CreateButton( "Stop Conversion",  ClientWidth(mainwindow)*0.30+25, 45, 85, 32, mainwindow, 1 )
  80. Global buttonClearDisplay=      CreateButton( "Clear Display",  ClientWidth(mainwindow)*0.45+25, 45, 85, 32, mainwindow, 1 )
  81. Global buttonQuit               =       CreateButton( "Quit Program",   ClientWidth(mainwindow)*0.60+25, 45, 85, 32, mainwindow, 1 )
  82. Global buttonDeleteData =       CreateButton( "Delete Data",    ClientWidth(mainwindow)*0.75+25, 5, 110, 32, mainwindow, 1 )
  83. Global buttonDeletePic  =       CreateButton( "Delete Picture", ClientWidth(mainwindow)*0.75+25, 45, 110, 32, mainwindow, 1 )
  84.  
  85. SetGadgetLayout buttonLoadPic, 2, 2, 2, 2 : SetGadgetLayout buttonLoadData, 2, 2, 2, 2 : SetGadgetLayout buttonSavePic, 2, 2, 2, 2
  86. SetGadgetLayout buttonSaveData, 2, 2, 2, 2 : SetGadgetLayout buttonCompData, 2, 2, 2, 2 : SetGadgetLayout buttonConvertData, 2, 2, 2, 2
  87. SetGadgetLayout buttonViewPic, 2, 2, 2, 2 SetGadgetLayout buttonStopComp, 2, 2, 2, 2 : SetGadgetLayout buttonStopConv, 2, 2, 2, 2
  88. SetGadgetLayout buttonClearDisplay, 2, 2, 2, 2 : SetGadgetLayout buttonQuit, 2, 2, 2, 2
  89. SetGadgetLayout buttonDeleteData, 2, 2, 2, 2 : SetGadgetLayout buttonDeletePic, 2, 2, 2, 2
  90.  
  91. HideGadget buttonStopConv
  92.  
  93. DisableGadget buttonSavePic : DisableGadget buttonSaveData : DisableGadget buttonCompData : DisableGadget buttonConvertData
  94. DisableGadget buttonViewPic : DisableGadget buttonStopComp : DisableGadget buttonDeleteData : DisableGadget buttonDeletePic
  95. DisableGadget buttonClearDisplay
  96.  
  97. ; * * * listbox that will display list of files chosen
  98. Global listBoxFiles = CreateListBox (10, 90, 250, 230, mainwindow)
  99. DisableGadget listBoxFiles
  100. ; ******
  101.  
  102. ; * * * for viewing pictures and displaying data
  103. Global canvasPicPreview = CreateCanvas (270, 88, 359, 388 , mainwindow)
  104. Global listBoxTotal             = CreateListBox (10, 325, 250, 20, mainwindow)
  105. Global listBoxTimeH             = CreateListBox (10, 380, 28, 18, mainwindow)
  106. Global listBoxTimeM             = CreateListBox (40, 380, 28, 18, mainwindow)
  107. Global listBoxTimeS             = CreateListBox (70, 380, 28, 18, mainwindow)
  108. DisableGadget listBoxTotal
  109. DisableGadget listBoxTimeH : DisableGadget listBoxTimeM : DisableGadget listBoxTimeS
  110. ; ******
  111.  
  112. SetGadgetLayout listBoxFiles, 2, 2, 2, 2
  113. SetGadgetLayout canvasPicPreview, 2, 2, 2, 2 : SetGadgetLayout listBoxTotal, 2, 2, 2, 2
  114. SetGadgetLayout listBoxTimeH, 2, 2, 2, 2 : SetGadgetLayout listBoxTimeM, 2, 2, 2, 2 : SetGadgetLayout listBoxTimeS, 2, 2, 2, 2
  115.  
  116. Global barProcessed     = CreateProgBar (10, 350, 250, 20, mainwindow) : SetGadgetLayout barProcessed, 2, 2, 2, 2
  117.  
  118. SetBuffer CanvasBuffer (canvasPicPreview)
  119. ClsColor 212, 208, 200 : Cls : FlipCanvas canvasPicPreview
  120. Repeat
  121.         Select WaitEvent(0)
  122.                 Case EVENT_Gadget ; gadget clicked
  123.                         Select EventSource()
  124.                                 Case buttonQuit
  125.                                         If Confirm( "Confirm Quit?" ) = True Then Gosub freeallgadgets2 : EndGraphics : End
  126.                                 Case buttonLoadPic ; select picture to load
  127.                                         dirPath$ = RequestFile ("Select a picture to load...", "bmp,BMP,jpg,*.*,jpeg,JPG,JPEG", 0 )
  128.                                         If dirPath$ <> ""
  129.                                                 If gfxBankDisplay <> 0 Then FreeImage gfxBankDisplay : gfxBankDisplay = 0
  130.                                                 If gfxBank3 <> 0 Then FreeImage gfxBank3 : gfxBank3 = 0
  131.                                                 If gfxBank4 <> 0 Then FreeImage gfxBank4 : gfxBank4 = 0
  132.                                                 gfxBank3 = LoadImage(dirPath$) : gfxBankDisplay = CopyImage(gfxBank3)
  133.                                                 canvasPicEncrypt = CreateCanvas (635, 470, ImageWidth(gfxBank3), ImageHeight(gfxBank3) , mainwindow)
  134.                                                 ;ClsColor 0, 0, 0 : Cls : FlipCanvas canvasPicEncrypt
  135.                                                 gfxBank4 = CreateImage ( ImageWidth(gfxBank3), ImageHeight(gfxBank3) )
  136.                                                 gfxBank4 = CopyImage(gfxBank3) : EnableGadget buttonViewPic : EnableGadget buttonSavePic
  137.                                                 EnableGadget buttonCompData : EnableGadget buttonDeletePic
  138.                                                 If Len(dirPath$) < 120
  139.                                                         SetStatusText mainwindow, dirPath$
  140.                                                 ElseIf Len(dirPath$) > 119
  141.                                                         SetStatusText mainwindow, "..." + Right$ (dirPath$,119)
  142.                                                 EndIf
  143.                                         EndIf
  144.                                         ActivateGadget mainwindow
  145.                                 Case buttonLoadData ; select encripted file to load
  146.                                         dirPath$ = RequestFile ("Select a file to load...", "txt, dat", 0 )
  147.                                         If dirPath$ <> ""
  148.                                                 ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS : ClearGadgetItems listBoxTotal
  149.                                                 If gfxBankDisplay <> 0 Then FreeImage gfxBankDisplay : gfxBankDisplay = 0
  150.                                                 If gfxBank3 <> 0 Then FreeImage gfxBank3 : gfxBank3 = 0
  151.                                                 If gfxBank4 <> 0 Then FreeImage gfxBank4 : gfxBank4 = 0
  152.                                                 count = 0 : progress = 0 : counter = 0 : timeSet = MilliSecs()
  153.                                                 PreCleanAndLoad()
  154.                                                 canvasPicEncrypt = CreateCanvas (638, 478, width1, height1, mainwindow)
  155.                                                 SetBuffer CanvasBuffer (canvasPicEncrypt)
  156.                                                 ClsColor 0, 0, 0 : Cls : FlipCanvas canvasPicEncrypt
  157.                                                 EnableGadget buttonDeleteData : EnableGadget buttonConvertData : DisableGadget buttonViewPic : DisableGadget buttonClearDisplay
  158.                                                 If Len(dirPath$) < 120
  159.                                                         SetStatusText mainwindow, dirPath$
  160.                                                 ElseIf Len(dirPath$) > 119
  161.                                                         SetStatusText mainwindow, "..." + Right$ (dirPath$,119)
  162.                                                 EndIf
  163.                                         EndIf
  164.                                         ActivateGadget mainwindow
  165.                                 Case buttonViewPic
  166.                                         If ( ImageWidth(gfxBankDisplay) > 359 ) Or ( ImageHeight(gfxBankDisplay) > 388 )
  167.                                                 ResizeImage gfxBankDisplay, 359,388
  168.                                         EndIf
  169.                                         SetBuffer CanvasBuffer (canvasPicPreview)
  170.                                         ClsColor 0, 0, 0 : Cls : DrawImage gfxBankDisplay, 2, 2
  171.                                         FlipCanvas canvasPicPreview
  172.                                         EnableGadget buttonClearDisplay : ActivateGadget mainwindow
  173.                                 Case buttonSavePic ; save picture
  174.                                         dirPath$ = RequestFile ("Save picture to file...", "bmp, jpg", 1 )
  175.                                         If dirPath$ <> ""
  176.                                                 SaveImage(gfxBank3, dirPath$)
  177.                                         EndIf
  178.                                         ActivateGadget mainwindow
  179.                                 Case buttonClearDisplay
  180.                                         SetBuffer CanvasBuffer (canvasPicPreview)
  181.                                         ClsColor 212, 208, 200 : Cls : FlipCanvas canvasPicPreview
  182.                                         DisableGadget buttonClearDisplay
  183.                                         ActivateGadget mainwindow
  184.                                 Case buttonStopComp
  185.                                         EnableGadget buttonLoadPic : EnableGadget buttonLoadData : EnableGadget buttonCompData
  186.                                         DisableGadget buttonStopComp
  187.                                         SetBuffer CanvasBuffer (canvasPicEncrypt)
  188.                                         Cls : FlipCanvas canvasPicEncrypt
  189.                                         If ImageWidth (gfxBank3) > 0 Or ImageHeight(gfxBank3) > 0
  190.                                                 EnableGadget buttonSavePic : EnableGadget buttonViewPic : EnableGadget buttonDeletePic; : EnableGadget buttonClearDisplay
  191.                                         EndIf
  192.                                         encrypting  = 0 : ActivateGadget mainwindow : FreeBank picdataBank : picdataBank = 0
  193.                                 Case buttonDeleteData
  194.                                         DisableGadget buttonSavePic : DisableGadget buttonCompData : DisableGadget buttonDeleteData
  195.                                         DisableGadget buttonSaveData : DisableGadget buttonConvertData : HideGadget buttonStopConv : ShowGadget buttonStopComp
  196.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS
  197.                                         ClearGadgetItems listBoxTotal : FreeGadget canvasPicEncrypt : UpdateProgBar barProcessed, 0
  198.                                         SetStatusText mainwindow, "" : ActivateGadget mainwindow : FreeBank picdataBank : picdataBank = 0
  199.                                 Case buttonDeletePic
  200.                                         DisableGadget buttonViewPic : DisableGadget buttonSavePic : DisableGadget buttonCompData : DisableGadget buttonDeletePic
  201.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS
  202.                                         ClearGadgetItems listBoxTotal : SetStatusText mainwindow, ""
  203.                                         If gfxBankDisplay <> 0 Then FreeImage gfxBankDisplay : gfxBankDisplay = 0
  204.                                         If gfxBank3 <> 0 Then FreeImage gfxBank3 : gfxBank3 = 0
  205.                                         If gfxBank4 <> 0 Then FreeImage gfxBank4 : gfxBank4 = 0
  206.                                         SetStatusText mainwindow, "" : UpdateProgBar barProcessed, 0
  207.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS
  208.                                         SetBuffer CanvasBuffer (canvasPicPreview)
  209.                                         ClsColor 212, 208, 200 : Cls : FlipCanvas canvasPicPreview : ActivateGadget mainwindow : DisableGadget buttonClearDisplay
  210.                                 Case buttonSaveData
  211.                                         dirPath$ = RequestFile ("Save Picture Data to Disk...", "txt", 1 )
  212.                                         If dirPath$ <> "" And Right$(dirPath$,4) = ".txt"
  213.                                                 count = 0 : progress = 0 : counter = 0 : timeSet = MilliSecs()
  214.                                                 savingdata = WriteFile(dirPath$)
  215.                                                 WriteLine savingdata, "Data " + height1 + " ; height of picture" : WriteLine savingdata, "Data " + width1 + " ; width of picture"
  216.                                                 WriteLine savingdata, "; rgb values for picture - copy and paste into program"
  217.                                                 ab$ = "" : count = 0
  218.                                                 For a = 1 To height1
  219.                                                         For b = 1 To width1                                                    
  220.                                                                 ab$ = ab$ + PeekByte (picdataBank, count) + ", "
  221.                                                                 count = count + 1
  222.                                                                 ab$ = ab$ + PeekByte (picdataBank, count) + ", "
  223.                                                                 count = count + 1
  224.                                                                 ab$ = ab$ + PeekByte (picdataBank, count) + ", "
  225.                                                                 count = count + 1
  226.                                                                 progress = progress + 1
  227.                                                                 If progBar(counter) < progress And progBar(counter + 1) > progress     
  228.                                                                         TimeAndProgression()
  229.                                                                 EndIf
  230.                                                         Next
  231.                                                         ab$ = Left$(ab$, (Len(ab$) - 2)) + " "
  232.                                                         WriteLine savingdata, "Data " + ab$
  233.                                                         ab$ = ""
  234.                                                 Next
  235.                                                 CloseFile(savingdata)
  236.                                                 TimeTaken()
  237.                                                 DisableGadget buttonSaveData
  238.                                                 ;ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS : ClearGadgetItems listBoxTotal :
  239.                                                 FreeBank picdataBank : picdataBank = 0
  240.                                         EndIf
  241.                                         ActivateGadget mainwindow
  242.                                 Case buttonCompData
  243.                                         SetBuffer CanvasBuffer (canvasPicEncrypt)
  244.                                         Cls : DrawImage gfxBank4, 0, 0 : FlipCanvas canvasPicEncrypt
  245.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS
  246.                                         ClearGadgetItems listBoxTotal
  247.                                         DisableGadget buttonLoadPic : DisableGadget buttonLoadData : DisableGadget buttonSavePic : DisableGadget buttonSaveData
  248.                                         DisableGadget buttonConvertData : DisableGadget buttonViewPic : DisableGadget buttonClearDisplay : DisableGadget buttonCompData
  249.                                         DisableGadget buttonDeletePic : EnableGadget buttonStopComp
  250.                                         timeS = 0 : timeM = 0 : timeH = 0 : timeSec$ = "00" : timeMin$ = "00" : timeHour$ = "00"
  251.                                         encrypting = 1 : height1 = ImageHeight (gfxBank4) : heightY = 0 : width1 = ImageWidth (gfxBank4) : widthX = 0
  252.                                         progress = 0 : totalA = width1 * height1 : count = 0
  253.                                         For counter = 0 To 100 : progBar(counter) = (totalA / 100) * counter : Next : counter = 0 : progBar(101) = totalA * 2
  254.                                         AddGadgetItem listBoxTotal, "Total Data:  " + Str totalA
  255.                                         AddGadgetItem listBoxTimeH, "00" : AddGadgetItem listBoxTimeM, "00" : AddGadgetItem listBoxTimeS, "00" : timeSet = MilliSecs()
  256.                                         ActivateGadget mainwindow : picdataBank = CreateBank (totalA * 3)
  257.                                 Case buttonConvertData
  258.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS : ClearGadgetItems listBoxTotal
  259.                                         DisableGadget buttonLoadPic : DisableGadget buttonLoadData : DisableGadget buttonSavePic : DisableGadget buttonSaveData
  260.                                         DisableGadget buttonConvertData : DisableGadget buttonViewPic : DisableGadget buttonClearDisplay : DisableGadget buttonCompData
  261.                                         DisableGadget buttonDeletePic : DisableGadget buttonStopComp : HideGadget buttonStopComp ShowGadget buttonStopConv
  262.                                         EnableGadget buttonStopConv : DisableGadget buttonDeleteData
  263.                                         timeS = 0 : timeM = 0 : timeH = 0 : timeSec$ = "00" : timeMin$ = "00" : timeHour$ = "00"
  264.                                         cleaning = 1 : heightY = 0 : widthX = 0 : progress = 0 : count = 0
  265.                                         For counter = 0 To 100 : progBar(counter) = (totalA / 100) * counter : Next : counter = 0 : progBar(101) = totalA * 2
  266.                                         AddGadgetItem listBoxTotal, "Total to Draw: " + Str totalA
  267.                                         AddGadgetItem listBoxTimeH, "00" : AddGadgetItem listBoxTimeM, "00" : AddGadgetItem listBoxTimeS, "00" : timeSet = MilliSecs()
  268.                                         ActivateGadget mainwindow
  269.                                 Case buttonStopConv
  270.                                         EnableGadget buttonLoadPic : EnableGadget buttonLoadData : EnableGadget buttonConvertData : EnableGadget buttonClearDisplay
  271.                                         ShowGadget buttonStopComp : EnableGadget buttonConvertData : HideGadget buttonStopConv : EnableGadget buttonDeleteData
  272.                                         ClsColor 212, 208, 200 : Cls : FlipCanvas canvasPicPreview
  273.                                         ClearGadgetItems listBoxTimeH : ClearGadgetItems listBoxTimeM : ClearGadgetItems listBoxTimeS
  274.                                         ClearGadgetItems listBoxTotal
  275.                                         cleaning = 0 : ActivateGadget mainwindow
  276.                         End Select
  277.                 Case EVENT_KeyUp
  278.                         If EventData() = 1 ; quit
  279.                                 Gosub freeallgadgets2 : EndGraphics : End
  280.                         EndIf
  281.                         If EventData() = 25 ; preferences
  282.  
  283.                         EndIf
  284.                 Case EVENT_Close        ;window close
  285.                         Gosub freeallgadgets2 : EndGraphics : End
  286.         End Select
  287.  
  288.         If encrypting  = 1 Then EncryptFile()
  289.         If cleaning = 1 Then CleanFile()
  290.  
  291. Forever
  292.         Gosub freeallgadgets2 : EndGraphics
  293. End
  294. ; * * * * *  F U N C T I O N S  * * * * *
  295.  
  296. Function CleanFile()
  297.  
  298.         If progress = 0
  299.                 ClsColor 0, 0, 0 : Cls
  300.  
  301.                 red = PeekByte (picdataBank, count)
  302.                 count = count + 1
  303.                 green = PeekByte (picdataBank, count)
  304.                 count = count + 1
  305.                 blue = PeekByte (picdataBank, count)
  306.                 count = count + 1
  307.  
  308.                 Color red, green, blue
  309.                 Plot widthX, heightY
  310.                 FlipCanvas canvasPicEncrypt
  311.         Else
  312.                 red = PeekByte (picdataBank, count)
  313.                 count = count + 1
  314.                 green = PeekByte (picdataBank, count)
  315.                 count = count + 1
  316.                 blue = PeekByte (picdataBank, count)
  317.                 count = count + 1
  318.  
  319.                 Color red, green, blue
  320.                 Plot widthX, heightY : FlipCanvas canvasPicEncrypt             
  321.         EndIf
  322.         widthX  = widthX + 1
  323.         If widthX = width1
  324.                 heightY = heightY + 1
  325.                 widthX = 0
  326.         EndIf
  327.         progress = progress + 1
  328.         If progBar(counter) < progress And progBar(counter + 1) > progress
  329.                 TimeAndProgression()
  330.         EndIf
  331.         If progress = totalA
  332.                 TimeTaken()
  333.                 If gfxBank3 <> 0 Then FreeImage gfxBank3 : gfxBank3 = 0
  334.                 gfxBank3 = CreateImage ( width1, height1 )
  335.                 CopyRect 0, 0, width1, height1, 0, 0, CanvasBuffer(canvasPicEncrypt), ImageBuffer(gfxBank3)
  336.                 cleaning = 10 : heightY = 0 : widthX = 0
  337.                 FreeGadget canvasPicEncrypt
  338.                 EnableGadget buttonLoadPic : EnableGadget buttonLoadData : EnableGadget buttonSavePic : EnableGadget buttonClearDisplay
  339.                 ShowGadget buttonStopComp HideGadget buttonStopConv : DisableGadget buttonStopComp : EnableGadget buttonDeletePic
  340.                 DisableGadget buttonStopComp : DisableGadget buttonCompData : ClearGadgetItems listBoxTotal
  341.         EndIf
  342.  
  343. End Function
  344.  
  345. Function EncryptFile()
  346.         SetBuffer CanvasBuffer (canvasPicEncrypt) ;canvasPicPreview
  347.         GetColor(widthX, heightY)
  348.         red = ColorRed()
  349.         green = ColorGreen()
  350.         blue = ColorBlue()
  351.  
  352.         PokeByte picdataBank, count, red
  353.         count = count + 1
  354.         PokeByte picdataBank, count, green
  355.         count = count + 1
  356.         PokeByte picdataBank, count, blue
  357.         count = count + 1
  358.  
  359.         widthX  = widthX + 1
  360.  
  361.         If widthX = width1
  362.                 heightY = heightY + 1
  363.                 widthX = 0
  364.         EndIf
  365.         If progBar(counter) < progress And progBar(counter + 1) > progress
  366.                 TimeAndProgression()
  367.         EndIf
  368.         progress = progress + 1
  369.         If progress = totalA
  370.                 TimeTaken()
  371.                 encrypting = 10 : heightY = 0 : widthX = 0
  372.                 EnableGadget buttonLoadPic : EnableGadget buttonLoadData : EnableGadget buttonSaveData : EnableGadget buttonDeleteData
  373.                 EnableGadget buttonClearDisplay
  374.                 DisableGadget buttonStopComp : DisableGadget buttonCompData : ClearGadgetItems listBoxTotal
  375.         EndIf
  376. End Function
  377.  
  378. Function PreCleanAndLoad()
  379.         loadingData = ReadFile(dirPath$)
  380.         linesh$ = ReadLine$(loadingData)
  381.         linesw$ = ReadLine$(loadingData)
  382.         linesdata$ = ReadLine$(loadingData)
  383.         linesdata$ = ReadLine$(loadingData)
  384.         linesh$ = Replace$(linesh$, "Data ", "")
  385.         linesw$ = Replace$(linesw$, "Data ", "")
  386.         linesdata$ = Replace$(linesdata$, "Data ", "")
  387.         height1 = Int (linesh$)
  388.         width1 = Int (linesw$)
  389.         totalA = width1 * height1 : picdataBank = CreateBank (totalA * 3)
  390.         For counter = 0 To 100
  391.                 progBar(counter) = (totalA / 100) * counter
  392.         Next
  393.         AddGadgetItem listBoxTotal, "Total to Load: " + Str totalA
  394.         AddGadgetItem listBoxTimeH, "00" : AddGadgetItem listBoxTimeM, "00" : AddGadgetItem listBoxTimeS, "00"
  395.         counter = 0 : progBar(101) = totalA * 2
  396.         While  linesdata$ <> ""
  397.                 temp$ = linesdata$
  398.                 Repeat
  399.                         rgbR = Int(temp$)
  400.                         pos = Instr (temp$, " ")
  401.                         temp$ = Right$(temp$, Len(temp$) - pos)
  402.                         PokeByte picdataBank, count, rgbR
  403.                         count = count + 1
  404.  
  405.                         rgbG = Int(temp$)
  406.                         pos = Instr (temp$, " ")
  407.                         temp$ = Right$(temp$, Len(temp$) - pos)
  408.                         PokeByte picdataBank, count, rgbG
  409.                         count = count + 1
  410.  
  411.                         rgbB = Int(temp$)
  412.                         pos = Instr (temp$, " ")
  413.                         temp$ = Right$(temp$, Len(temp$) - pos)
  414.                         PokeByte picdataBank, count, rgbB
  415.                         count = count + 1
  416.                         progress = progress + 1
  417.                         If progBar(counter) < progress And progBar(counter + 1) > progress
  418.                                 TimeAndProgression()
  419.                         EndIf
  420.                 Until Len(temp$) = 0
  421.                 linesdata$ = ReadLine$(loadingData)
  422.                 linesdata$ = Replace$(linesdata$, "Data ", "")
  423.         Wend
  424.         CloseFile(loadingData)
  425.         TimeTaken()
  426. End Function
  427.  
  428. Function TimeTaken()
  429.         totalsecs = ( MilliSecs() - timeSet ) / 1000
  430.         If totalsecs > 3599
  431.                 timeH = totalsecs / 3600
  432.                 totalsecs = totalsecs - (timeH * 3600)
  433.                 timeM = totalsecs / 60
  434.                 totalsecs = totalsecs - (timeM * 60)
  435.                 If timeH > 9
  436.                         ClearGadgetItems listBoxTimeH
  437.                         AddGadgetItem listBoxTimeH, Str timeH
  438.                 ElseIf timeH < 10
  439.                         ClearGadgetItems listBoxTimeH
  440.                         AddGadgetItem listBoxTimeH, "0" + Str timeH
  441.                 EndIf
  442.                 If timeM > 9
  443.                         ClearGadgetItems listBoxTimeM
  444.                         AddGadgetItem listBoxTimeM, Str timeM
  445.                 ElseIf timeM < 10
  446.                         ClearGadgetItems listBoxTimeM
  447.                         AddGadgetItem listBoxTimeM, "0" + Str timeM
  448.                 EndIf
  449.                 If totalsecs > 9
  450.                         ClearGadgetItems listBoxTimeS
  451.                         AddGadgetItem listBoxTimeS, Str totalsecs
  452.                 ElseIf totalsecs < 10
  453.                         ClearGadgetItems listBoxTimeS
  454.                         AddGadgetItem listBoxTimeS, "0" + Str totalsecs
  455.                 EndIf
  456.         ElseIf totalsecs > 59
  457.                 timeM = totalsecs / 60
  458.                 totalsecs = totalsecs - (timeM * 60)
  459.                 If timeM > 9
  460.                         ClearGadgetItems listBoxTimeM
  461.                         AddGadgetItem listBoxTimeM, Str timeM
  462.                 ElseIf timeM < 10
  463.                         ClearGadgetItems listBoxTimeM
  464.                         AddGadgetItem listBoxTimeM, "0" + Str timeM
  465.                 EndIf
  466.                 If totalsecs > 9
  467.                         ClearGadgetItems listBoxTimeS
  468.                         AddGadgetItem listBoxTimeS, Str totalsecs
  469.                 ElseIf totalsecs < 10
  470.                         ClearGadgetItems listBoxTimeS
  471.                         AddGadgetItem listBoxTimeS, "0" + Str totalsecs
  472.                 EndIf
  473.         ElseIf totalsecs < 60
  474.                 If totalsecs > 9
  475.                         ClearGadgetItems listBoxTimeS
  476.                         AddGadgetItem listBoxTimeS, Str totalsecs
  477.                 ElseIf totalsecs < 10
  478.                         ClearGadgetItems listBoxTimeS
  479.                         AddGadgetItem listBoxTimeS, "0" + Str totalsecs
  480.                 EndIf
  481.         EndIf
  482. End Function
  483.  
  484. Function TimeAndProgression()
  485.         UpdateProgBar barProcessed, progBar2#(counter)
  486.         counter = counter + 1
  487. End Function
  488.  
  489. Function CenterWindow (title$, width, height, group, style)
  490.         Return CreateWindow (title$, (ClientWidth (Desktop ()) / 2) - (width / 2), (ClientHeight (Desktop ()) / 2) - (height / 2), width, height, group, style)
  491. End Function
  492.  
  493. ;*******************************************************************************************************************
  494. .freeallgadgets2
  495. If gfxBankDisplay <> 0 Then FreeImage gfxBankDisplay : gfxBankDisplay = 0
  496. If gfxBank3 <> 0 Then FreeImage gfxBank3 : gfxBank3 = 0
  497. If gfxBank4 <> 0 Then FreeImage gfxBank4 : gfxBank4 = 0
  498. If picdataBank <> 0 Then FreeBank picdataBank : picdataBank = 0
  499. FreeGadget buttonLoadPic : FreeGadget buttonLoadData : FreeGadget buttonSavePic : FreeGadget buttonSaveData : FreeGadget buttonClearDisplay
  500. FreeGadget buttonCompData : FreeGadget buttonConvertData : FreeGadget buttonViewPic : FreeGadget buttonStopComp : FreeGadget canvasPicPreview
  501. FreeGadget buttonQuit : FreeGadget buttonDeleteData : FreeGadget buttonDeletePic : FreeGadget progressBarEncrypt1
  502. FreeGadget progressBarEncrypt2 : FreeGadget listBoxFiles : FreeGadget listBoxTotal : FreeGadget listBoxTimeH
  503. FreeGadget listBoxTimeM : FreeGadget listBoxTimeS : FreeGadget buttonStopConv : FreeGadget mainwindow
  504.  
  505. Return
  506.  
  507. End
  508.  
  509. Data 32 ; height of picture
  510. Data 32 ; width of picture
  511. ; rgb values for picture - copy and paste into program
  512. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  513. Data 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  514. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  515. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  516. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  517. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  518. Data 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  519. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 252, 251, 246, 252, 250, 252, 253, 253, 192, 213, 225, 192, 213, 225, 233, 242, 245, 249, 254, 255, 255, 255, 255
  520. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 231, 237, 82, 186, 165, 115, 179, 205, 197, 222, 231, 188, 215, 226, 206, 228, 235, 196, 222, 230, 87, 224, 249, 255, 255, 255
  521. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 242, 245, 229, 238, 243, 231, 239, 243, 162, 190, 205, 169, 202, 216, 199, 222, 237, 116, 122, 252, 215, 234, 247, 220, 240, 245, 212, 234, 239, 221, 239, 243, 232, 248, 251, 255, 255, 255
  522. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 253, 255, 255, 255, 255, 236, 249, 253, 218, 235, 240, 190, 217, 227, 210, 232, 239, 218, 238, 242, 104, 134, 151, 115, 153, 174, 199, 224, 232, 211, 232, 239, 195, 220, 230, 189, 217, 227, 194, 221, 230, 249, 251, 252, 255, 255, 255, 255, 255, 255
  523. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 238, 249, 255, 255, 255, 135, 220, 245, 76, 194, 235, 141, 233, 252, 23, 204, 245, 189, 232, 242, 229, 247, 250, 219, 239, 244, 222, 241, 245, 151, 180, 194, 176, 206, 220, 139, 167, 180, 118, 161, 186, 177, 207, 220, 189, 217, 227, 222, 236, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255
  524. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 246, 252, 255, 255, 255, 168, 231, 248, 46, 186, 233, 40, 186, 233, 54, 209, 246, 23, 203, 244, 25, 208, 248, 22, 197, 242, 20, 195, 240, 87, 199, 234, 196, 222, 230, 172, 204, 218, 134, 175, 197, 148, 182, 198, 122, 150, 163, 132, 156, 167, 200, 222, 229, 226, 240, 244, 246, 250, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  525. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 228, 244, 183, 222, 242, 200, 240, 251, 78, 199, 237, 52, 193, 237, 88, 221, 251, 22, 200, 243, 25, 205, 245, 24, 203, 245, 20, 193, 239, 18, 189, 237, 8, 162, 222, 56, 178, 228, 4, 150, 215, 60, 166, 220, 153, 191, 212, 146, 183, 203, 191, 217, 228, 226, 242, 244, 237, 243, 245, 253, 254, 254, 245, 250, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  526. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 233, 248, 5, 157, 219, 28, 191, 238, 22, 202, 244, 22, 200, 243, 25, 207, 247, 20, 195, 240, 36, 205, 245, 12, 173, 228, 30, 168, 223, 155, 224, 246, 48, 158, 217, 153, 208, 237, 255, 255, 255, 204, 231, 245, 255, 255, 255, 243, 247, 249, 252, 254, 254, 241, 248, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  527. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 221, 250, 67, 214, 248, 18, 188, 237, 89, 207, 242, 2, 146, 213, 124, 211, 240, 246, 252, 254, 146, 205, 236, 246, 251, 253, 255, 255, 255, 252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  528. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 253, 255, 237, 249, 253, 215, 243, 251, 255, 255, 255, 225, 241, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  529. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 128, 128, 0, 128, 128, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 158, 255, 0, 0, 0, 0, 0, 0, 222, 222, 0, 222, 222, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  530. Data 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 222, 222, 0, 0, 0, 0, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 0, 0, 94, 64, 191, 222, 222, 0, 222, 222, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0
  531. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 222, 222, 0, 0, 0, 0, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 94, 64, 191, 222, 222, 0, 191, 191, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 158, 94, 0
  532. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 94, 158, 0, 0, 0, 255, 255, 255, 222, 222, 0, 0, 0, 0, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 0, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 158, 94, 0, 158, 94, 0
  533. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 94, 158, 0, 0, 0, 255, 255, 255, 0, 0, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 94, 64, 191, 0, 0, 0, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 158, 255, 0, 0, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 255, 255, 48, 158, 94, 0, 158, 94, 0, 255, 255, 255
  534. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 94, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 222, 0, 222, 222, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 222, 222, 0, 222, 222, 0, 222, 222, 0, 94, 64, 191, 94, 64, 191, 94, 64, 191, 222, 222, 0, 191, 191, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 222, 222, 0, 255, 255, 48, 158, 94, 0, 158, 94, 0, 255, 255, 255
  535. Data 255, 255, 255, 255, 255, 255, 0, 94, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 222, 0, 222, 222, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 222, 222, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 255, 255, 48, 158, 94, 0, 255, 255, 255, 255, 255, 255
  536. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 222, 0, 0, 0, 0, 0, 0, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 0, 0, 0, 255, 0, 0, 255, 0, 0, 255, 255, 255, 255, 222, 0, 222, 222, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 158, 94, 0, 158, 94, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255
  537. Data 255, 255, 255, 0, 94, 158, 255, 255, 255, 255, 255, 255, 0, 0, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 0, 255, 64, 222, 222, 0, 222, 222, 0, 222, 222, 0, 255, 0, 0, 222, 222, 0, 222, 222, 0, 0, 0, 0, 191, 191, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 158, 94, 0, 158, 94, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255
  538. Data 255, 255, 255, 0, 94, 158, 255, 255, 255, 0, 0, 0, 191, 191, 0, 191, 191, 0, 191, 191, 0, 191, 191, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0, 158, 94, 0, 158, 94, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  539. Data 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 191, 0, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 222, 222, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 158, 94, 0, 158, 94, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  540. Data 255, 255, 255, 255, 255, 255, 0, 94, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 191, 191, 0, 191, 191, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  541. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 94, 158, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 0, 0, 0, 0, 0, 191, 191, 0, 191, 191, 0, 191, 191, 0, 191, 191, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  542. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 0, 0, 0, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 191, 0, 0, 0, 0, 0, 191, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
  543. Data 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255


Comments :


Conan(Posted 1+ years ago)

 No offense, but I think I'll stick to my method... Less code to swim through...
Code: [Select]
Function MakeImageToData( Img$, Dest$ = "Image.bb" )
If FileType( Img$ ) = 1
Image = LoadImage( img$ )
DrawImage Image, 0, 0
fileout = WriteFile( Dest$ )
WriteLine fileout, "."+Left$(Img$,Instr(Img$,"."))
WriteLine fileout, "Data "+ImageWidth( image )+", "+ImageHeight( image )
For i = 0 To ImageWidth( Image )
lineout$ = "Data "
For j = 0 To ImageHeight( Image )
If j = 0
lineout$ = lineout$ + Str$( ReadPixel( i, j ) )
Else
lineout$ = lineout$ + ", " + Str$( ReadPixel( i, j ) )
End If
Next
WriteLine fileout, lineout$
Next
CloseFile fileout
End If
End Function

Function MakeImageFromData(  )
Read w, h
img = CreateImage( w, h )
SetBuffer( ImageBuffer( img ) )
For i = 0 To w
For j = 0 To h
Read pix
WritePixel i, j, pix
Next
Next
SetBuffer( BackBuffer() )
Return img
End Function


 

SimplePortal 2.3.6 © 2008-2014, SimplePortal