create program to create bitmap

Game development specific discussions.
Post Reply
Cherry
Posts: 358
Joined: Oct 23, 2007 12:06
Location: Austria
Contact:

Re: create program to create bitmap

Post by Cherry »

@leopardpm : oh, you are right, I was the fool here. I misunderstood your sentence.
leopardpm
Posts: 1795
Joined: Feb 28, 2009 20:58

Re: create program to create bitmap

Post by leopardpm »

Cherry wrote:@leopardpm : oh, you are right, I was the fool here. I misunderstood your sentence.
you are no fool, we were just on different wavelengths in conceptualizing the same problem... both correct
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

Would like to ask, is there something like a final conclusion of this thread? A program that works in Windows and Linux, 32 and 64 Bit? That produces pure fb code without problems?
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: create program to create bitmap

Post by MrSwiss »

@lizard,

sorry, no luck <-- it's April fool's day <lol>
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

I guess thats the whole year here.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: create program to create bitmap

Post by D.J.Peters »

With FBImage you can read images from files or memory.
So you can put your image (png, jpg, tga, dds, bmp ...)
in an array as source code and read it from the memory @array(0).

Joshy

Code: Select all

dim as ubyte array(...)=>{ xx,yy,zz ...}
var image = LoadRGBAMemory(@array(0), ubound(array))
...
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

Thanks, Joshy! That seems reasonable.

I am asking because i haven`t found a perfect datamaker until now even here:

https://www.freebasic-portal.de/code-beispiele/

where are mostly solutions for common problems.
paul doe
Moderator
Posts: 1732
Joined: Jul 25, 2017 17:22
Location: Argentina

Re: create program to create bitmap

Post by paul doe »

lizard wrote:Thanks, Joshy! That seems reasonable.

I am asking because i haven`t found a perfect datamaker until now even here:

https://www.freebasic-portal.de/code-beispiele/

where are mostly solutions for common problems.
Coding one is trivial:

Code: Select all

#define toString( s )	trim( str( s ) )

screenRes( 800, 600, 32 )

dim as integer iW = 320, iH = 240 '' image dimmensions

bload( "woman-lips.bmp" ) '' replace for any bmp

dim as ulong clr
dim as integer fileHandle = freeFile()
dim as string s

open "test.txt" for output as fileHandle

print #fileHandle, "data " & toString( iW ) & ", " & toString( iH )

for y as integer = 0 to iH - 1
	s = "data "
	
	for x as integer = 0 to iW - 1
		clr = point( x, y )
		
		s += "&h" + hex( clr ) + iif( x < iW - 1, ", ", "" )
	next
	
	print #fileHandle, s
next

close( fileHandle )
Then, to load the images, simply use this:

Code: Select all

screenRes( 800, 600, 32 )

restore imageData

dim as integer iW, iH
dim as ulong clr

read iW, iH

for y as integer = 0 to iH - 1
	for x as integer = 0 to iW - 1
		read clr
		
		pset( x, y ), clr
	next
next

sleep()

'' generated datas go here
imageData:
'' ...
That's all there is to it. Of course, only very small images can be transferred like this =D

This is, IMO, pointless. There are other better solutions already posted in this thread. However, the reverse of this (posting binary code as an image) can be much more interesting ;)
Last edited by paul doe on Apr 03, 2018 2:56, edited 1 time in total.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: create program to create bitmap

Post by D.J.Peters »

@paul it's better to include compressed *.png or *.jpg images as source code !

Joshy
paul doe
Moderator
Posts: 1732
Joined: Jul 25, 2017 17:22
Location: Argentina

Re: create program to create bitmap

Post by paul doe »

D.J.Peters wrote:@paul it's better to include compressed *.png or *.jpg images as source code !

Joshy
Only if you can somehow pack any image, at any resolution, without exceding the 60.000 char limit of the forum ;)
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

Great Paul Doe. I changed your code to work on a buffer. It works with my card spritesheet, but the resulting program is to long to post here. With Joshys version it will become long, too.

Posted here:

viewtopic.php?f=7&t=26561&p=245317#p245317
paul doe
Moderator
Posts: 1732
Joined: Jul 25, 2017 17:22
Location: Argentina

Re: create program to create bitmap

Post by paul doe »

lizard wrote:Great Paul Doe. I changed your code to work on a buffer. It works with my card spritesheet, but the resulting program is to long to post here. With Joshys version it will become long, too.
Glad to help. Yep, if you want to preserve all the information, the code generated is too long, unfortunately. Also, compile times increase dramatically the more data's you have. All in all, I still think that a link to an image (like you provided) is the way to go.
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

paul doe wrote:Glad to help. Yep, if you want to preserve all the information, the code generated is too long, unfortunately. Also, compile times increase dramatically the more data's you have. All in all, I still think that a link to an image (like you provided) is the way to go.
Yes, compile time is long, but execution is still quick. Naturally it would be possible to reduce data size by fewer colors (16 colors should be enough for this) and using smaller cards, .png etc. The fascinating thing is to have all in one listing. With separate files there always can be problems.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: create program to create bitmap

Post by D.J.Peters »

I added my base64 memory en/decoders to FBimage so you can include images in source code or post it on forum.

With "test_encode.bas" you can create include files from images or copy the data lines in your main *.bas file.

Joshy

here are how it looks.

Code: Select all

#include once "FBImage.bi"

restore mypicture

dim as integer imageWidth,imageHeight,nDataLines
read imageWidth,imageHeight,nDataLines
screenres imageWidth,imageHeight,32

dim as string EncodedImage
for i as integer=1 to nDataLines
  dim as string aLine
  read aLine : EncodedImage &= aLine
next
dim as integer nBytes
var buffer = Base64.DecodeMemory(EncodedImage,nBytes)  
var img = LoadRGBAMemory(buffer,nBytes)
if img=0 then
  print "error: can't load image from memory !" & *GetLastResult()
  beep : sleep : end 1
end if
put (0,0),img,pset

sleep
deallocate buffer
imagedestroy img


mypicture: ' the label are optional but usefull for the restore command
data 640, 785, 204 ' widht, height, in pixels and number of data lines
data "/9j/4AAQSkZJRgABAQEBXQFdAAD/2wBDABsSFBcUERsXFhceHBsgKEIrKCUlKFE6PTBCYFVlZF9VXVtq"
data "eJmBanGQc1tdhbWGkJ6jq62rZ4C8ybqmx5moq6T/2wBDARweHigjKE4rK06kbl1upKSkpKSkpKSkpKSk"
data "pKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT/wAARCAMRAoADASIAAhEBAxEB/8QA"
data "GgAAAwEBAQEAAAAAAAAAAAAAAAECAwQFBv/EACwQAQEAAgIDAAICAgIBBAMAAAABAhEhMQMSQVFhE3EE"
data "gSIyoRQjQpGx0eH/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAQIDBP/EABkRAQEBAQEBAAAAAAAAAAAAAAAB"
data "EQISMf/aAAwDAQACEQMRAD8ArRgMOggMAQMaAhQQAUACIwCaR2jQqcom4rTaCdaOC2AB9UnfHY3AMFaW"
data "9gYhfD2geiGxQAgAHYWgAAGwAAIU9mUMAQh7AD4RgY0Ry6A/oAAGDAlQoOgPRlDAtKhRQhAxUUgOQIIZ"
data "GBHsEAMgBwyMUaMjiocMjAxBABqSIouVUTFQFRUTFQRUVExUVGmHbfHpz4dujHpqM14E6MpDYbEA0OQP"
data "RAUCugRe0gKBbn5Tcp8A9lanLLU2zufINCtZ++02g0uSbki5J3aDT2L3Rf2NguZDbO38Fv5AaexzJlvZ"
data "+3IrT23T2y2Jld6Br7cntlKcoNdjbPapQWE7h7QMFKAMbA1yBwEYoAADRwtGBGBoDHQAA9kJ2CpvRiAA"
data "YCBwyCoY7AQLo4AAIyUMDsICEPhiiAADG+SCi4ChiHDSYKNMUocXEKxBcVExUEXDiYqKi8e3Rj058e2+"
data "HTUZrw9Athhsxam7TcrAVam5bRcrvafazmAu21nlb+RcrU0U/fXdL+T8Jsu+S1yB3MrkLjsriIndPZ6p"
data "XHcAt8jeh60av2AJzKLNCf0LLQK3hO1at7LWgLev7H7OybLWgFysGxUyKK9lTKflGyvKDW5CZM9CA2mR"
data "+zGXhcvANZTlZzITIVps5edM/b9nL+UGmxOU7EoLNMvJ7AGRwAABTEIwGuThKAbMjQMEcA4Bo1Qj4IwE"
data "FAAADoC0NnSQBlQKYEAF0cEhyKhwyhgYIApURFQFRUTDii4uM5VyiLnS4zlVKqNce22HTnxyb4dNRmvD"
data "6BCMNipv4V2WgZ2bLTSwtfpFZaHq00NAz9S9Wl5GuAZ+o9Z0ukCdc8D1UARoeu+1Cgn15FigCPUrjw0o"
data "0DC4cD0bWT8F6/FGNx+Jsb6FwBz2cl66/ptcE3ERnR1VWapdgm3Ry8DSda6oLmR+1RP2YLmX57V7M+oJ"
data "eQazI5eWfsJRW0yP24Y+xzIG0u1bYzJcyQabCZVbAxOx9ApgbIFQSlDiBwyPYGaZTAUyNUAA/aAAChUy"
data "CBkIexSMBUM9FDAGQAwNlwCjKHAVKqM9n7A1hyspkftFRp7CZ3bL2Eqo6cc+XV4suHn45curw5rEryQW"
data "zYbBpOUBYR7K3QFR9FvHaZQOkLSoAj+EKDK/2AMgAFoIwASewFGgP6Aa5BGBaLX6UOBGdwlRcGwBz3DR"
data "ab2J9FGOU0Vja4fpNx7EZ6/Iv5XcU2WAWz2XBKKOcRMMFRUqIqINJkuXhjFSorX2Pf5ZbVLsGkETtUFU"
data "cKGgZlOD2AAOdADKGINAFoAAAMi/owAA7A4ZBQ/pkNgexsrU3IFbLafZNz/ANfbQ92PvU+1n0HR7nMt9"
data "Of8AlOZzW6qNvew5nL2w/kl+qmcVGuzlrPa8KC5Lt0eHKzJljf06PH6Wa6qxK8uGnfA2w6Hs9pvJbEXt"
data "No+CilSPZABRSAbEItgqkW+RsD+D6m0TKAoXlHsLl+wPZ7Z+xzKfkRex0j3n0vcF7G2Xt2JlzAbBPsPY"
data "FhHt2ftKBiUtjYGWhvZwEa/Kbi00AY+nHwri20LiDn1oNbim4qiPqonmVU2B7OFTgotXLUcKnKC5frSM"
data "4qUVcqkyqiB7BGBgaMDgLejAEZCGVAoAQAU/gA+gKC2W1Q9jaLlpGWYNLmm5M7l+y3sFXLZXJNRtRp7b"
data "TupPfIKlonRap4zYisYuY7+DHCtvH4wGGFrfHxnjjI1xgFjg1ww0rx4tpg3GK+ePe0045OqvpUpT2oBS"
data "FoAbLadgq0tptTsGlqfZFyTc4qNPZP8AJpjl5dI9rrgw1vl5In+afWFLW7yuJrf+XfUT/JcpuM9yWT5f"
data "qp+DA/5LrntN8mU+lZZeOCu70or+XL+zmeXG6nRzHqiH72ieSy60WUsnAsutyILnl0r+XdY49dHJqaMV"
data "t/IqZ/hz/S/HJg6vbapk5JllL2qeWxMNdUvKnPj5edVrjkir2NlxQKDmwABXHZj6CPXdK46aC4iMpCs0"
data "19dUtAmKnFGjgHFTgocgqorfxJgaoUNAxCOAZkNgAYAgZAD7IAaaaaAt0m5Fl2iqh3JFF2NWgWyP0pzC"
data "/VE7/I1tpMJ9OSCM5jVTC2r4VOAKeNpj44MVSoqscdNMUY1cBpF4y7Z4ujx48rErXxRujCaU6Ob5k9lk"
data "mflydl7FRuwewK3RbtNyLcoHsrStn5T/ALA7km5CpVE5ZW1ParxSt0qaVxLVG90rfwqD2/M0X+05ZfZ8"
data "PexBb3Dmre+Sk4K8cqNLrX7TvlPtfn2jc/0gv2nZe8qeZ+iuprdijSeXjXFn5O+bHemF3J/xOa7k0Da+"
data "XG9/egzxw5t+1WOOpzQP8jWuLy1x8e/qr4toOfKyWdlJ21y8e/iLLj30BY396aTPX1Eu+jl55RW2PlnX"
data "1pK5pFTPLG/pGnT2GeOcym17RVd3sFsbA/po/wBnsD7NMqtiEOx92cFAlMSAat8JhyoK2aZDgKh/ShgY"
data "IwBkAAMSANA9AE3hGWX4XlrTK2AV5LWxcpPqb5pFRfroakY3z1nl5tria6faSlfJJ9cV8tvRe17q4muu"
data "+Tk/5I4/bf1cyn5MNdPvNdnPI55Zl9PXHJhrqx8jTHLbhmVnVaY51MV2Y5ctsa5PFlvt0Y5RFdPjns6/"
data "Hi5/BZY7MeI3IxaZkGmHzdLX6Ok5O5WcJ1tVpb2CbC1V6AjL1pXbWpuKjPnRWrs4Rcb8BFz0zuVa3C77"
data "4TcedqiN3Ze2p+16TZZxjqT+lQuLerzFY4y3+kzvlc4gitTvTPOfOm2N3Gfkx5mlGVn5t0LqzXOv001s"
data "tXr4gjHrW/8A+JuvbU5s/wDDW6k/E2nXP7VEy8a3oTd19TruW8flU3q398fkVc9t8birbPqce/8A9r5o"
data "Kwzrqw5jm8eMdnjmogWUlnLLLCdOmxGUQceWO7x8R/p1+rHyYTdoqJVfEzv9LnOxSwvr/TWXbLKfo8Ok"
data "VtsJnKtoHOKPpb2IBq0hQqgmbVABykaBwAAr+jiYoFQy0cAHAYghiHoC0Z9IzzmMUO3TLPyTGb25/N/l"
data "SW88uXPy55bu1w11eX/I1/TDL/J2wtv27T+PyuM60vlys4qffKzksZ+1THfUqoUzv7a443PpOPjuXDp8"
data "Xiyn3tRj/FlO8dq/hy1xP9O7Hxccw/45BNeZn48plzjlE5YX8Xh6n8cvacvDNbk5RXmTeN3tc8mW+enV"
data "n4scu5y5/J4riAmS8cv3Kx1YeON3bdg68Mt8T67vB/j5Za304f8AFuEu7u16vh8mGP8A8ufwYWujxeH0"
data "jfblnkzyy1Lw6PHje60yuGNAR84VMOTuktKvRAVJQEIrFSFoEaKxolRnYixtf/KbFRl63Zesaa5HrsRj"
data "f2U/20uOk67ULf8ApOe9cKsPX5Bnj+FFlhe8br8ludXsRVx4/ZanF5OZca/CfbetfQO47gmMk6GPEVxo"
data "E6XjrXRKx5+A08eP/KbdeEY+LHjlvOAP4mq2nJFZ5RjnzWuVmqxyoM7NKxvKc/wWNv0VreU9HvYkQVOY"
data "aZ2oUzKGgWzlpHAOdqLgToVWzTDQOU0xUA4qd8JOAvXRwpTk/IHFaKRUggivh6ZeXyTGW1Rn5vL6OHz/"
data "AORcuJS8/k9/vDDlqRnRPz9GVxxm7lBJTuMy7m4qM9j2l41U3fvZf+v/AOBvf6n5VF4d8/Gk8mmWGspt"
data "eugbTyccRv4vLOPy5JGnjn/KcA9LxZbjSMP8eV0SAeiuGouRcm4iuLy4+vLDPVx6d3nwlxk6rny8c1oH"
data "Jj4vb/rrf7b+Hx5YX/3PFuKnhm9WzH910YeDzyS4WZSfiqL8eH+P5Jzj639Lwwxxyuufwn/03l8tntjj"
data "LPsdXh/xrJ/y3VZX4cY6cZpOHjmMWIAAD5wgbk7pGjsKgKmGVAwXJXiAorClGxC1+SqtleVE6GlaAIyx"
data "2jLHbWlpUY+t/Cbet1v6/GWeAhf1SuGOXOtX8jVmtqUY3xZ4ySc/miTKf9nRvgaxs/5QHP7HvUbXxY27"
data "hfx49fARjOW3jxExioDTHLSplPzGO5C2Do/kmu0Z5/hl7aoqKMs6zyy/KuxfHvnYM9/ae5o/T8ncdQGX"
data "tq8ReOXEK487+jSK1lPhOPWqqQDGypzkBTlIIKlVESXXXBwFdHEztQpnKkwX2cSqILnS5ERciocXIUi5"
data "OALK6jzv8vzf/F3ee6xeV/kXfkqxKy/1pnLrK72074R5I0h75V84jPDKdXtcogyw3+IX8f8Ax7Xsb2DP"
data "HG92rk564VoQBI28M3UYzddXgw2I6PDjrFrESaXBVxUnCcej2CPJzlIL4avxzfk5dcxmUBy+PxTrKS/2"
data "6cf8eYyXCa/qoy8VnONbeLPVky4qpTxuWPcv9tMbs+y9Z84VlUAMARgHzZHoOTuRGNoEVMdgXH4K9GSh"
data "HYNfQBUlFQIDQ0ILBoQAE2H9PaoyuJev1sn10oz1YLKvR62CMYKuY0ZQE4z9nqnO9q7BnOey5l0u487G"
data "twC1xBjNXlcgsBNxnwTnhU65hZT8dgRX8Lk3C9QRMYPVpJoIrOY88KsPQsBOhDAF9B6JAzKK3sBD+lNn"
data "OxTikqgCLiYufoF4tMYjFpjBFSK0MYeXEUc/mu+HD5vFvPenflN1nlhLvcEebl4tc6L+PjWUd2Xhl6Y3"
data "DSo5cvDvnFFxzl6dmi9dg5Zld6pyz8t74sb3EZeCb4UTDk2f8OW927jXx+OzsQ/F43X48fWMsJprjQbS"
data "nGcVKDT2khWo5qp/QrXxZSdtpbf+tn+3PNW8XX9tZhl3vX7Ea4+TKXWWOv23mMyjDH2nGUn9xt4brhUq"
data "8P8AjxViyU5FZABgQAB83SphxehJ0dEBAxVQi3wdIB8HwABAWwB6I/hABYBeKAKTnkwBZT8F9Vvgvog0"
data "VUAE6A7GvgJ1yqFrk4oeinFMaAEej0CNCRVLQgkV2W+AKLEaXYSBDWzpKFrRa0ql/YF8FFIDObHwRAzh"
data "fTFNUqfip2BytIiLx7BphxGuLKcNcYIuDPpWMT5JwqMb2nKLRQZ5XTLLVaZc3hlewZ2a5C7yiz8Cikco"
data "VD3wXtd8Kxm+xcQwTPXa55P/AKT68CY64BrPJL1S/lyxvUsTMONz/wALwwmV19gKx8u5xxWmOWX2bib4"
data "ZeuKeGVwy1lOFRvjhMpw1luGPPMT49dzpv68Afjyxymt8VpjLL+Y58cfW8cOvx6shErTG7iihtMAAACA"
data "B82PgFcXch8BCjcIa2YhaGjJQaIwBUlaICBl/oABINgOxoDYCjg+yogGwNAco2UH0U9gQXoBexstDQit"
data "jY0FCLR6MEw9D6YED+lUCI5ABUvh0lCLrtQoEcEHKB6OFP2YHFRKoKqLxRF4iNMW2LHFtio0x2WfSsRn"
data "P+IjnTYuFYDHKMso3yxZZyzsGZaO9FoUevBevP1UPgE4zSho9bFPFXpCk5XBCxx54V6c76pztcBWE4X6"
data "TIpGkgg8eGo3xn/FGNi5VQ5G3j4ZRrgsStQRtMmCAgAAPmwCcXcEZABoD4ABGAAACkYAhrgH0okVWi0C"
data "KFWH6iJB6GtgPhcmAEAg0KD2WhIAMaAAbIxAB2KAIx/oCpKLQERgC2AaiT+HokABr6c5AD6ZaFVFRMOA"
data "uLkRGmNEXi1xZY9NcFRrirLpGDT4DmymqO1eT/sUBnYixtYiwHPcE3Gx0WFYDn1Q1uBeqKiKg9J97P0A"
data "RcKeO1c8dAReMEwVjjoFRpjoorcVFessOY/spFSKh47b4MY2wWJWgIRplRkYAACPmqSi04vQUA6AhAAA"
data "J2KAMhQAAEAdAU4BdA6FCAAAAANFozAtFpQAgYAtDRmCdBRAVg+fs6AICgC+EdooiRrjZgE/R9P+hrkA"
data "DLQDswAHYA0Bw4WznIq40x6YtcaI0wbYssGuKovHtrIzxaYqMvLizkb+ScMgGk2LgsQZ3HcR66beqdKM"
data "tFY1uPHSdIM9HIv1/JaA8VxEioCocLZwFf0XscV67+ArDWU2qRGM9emmNlUPHitsGUa4LGas4RtMnDKG"
data "ABgR80Qo7cXoK8iAAVAFAAGIX0AANl9BigAAP6MgIZXZhQF3TEgAGNAADAtAyA9FoxIA0WlEIRK0mihN"
data "V8IC0VUVELZH8H0C2YGhSMWbH+wFOAgBkACihgcq8bESLx7BtjdN458W2NVlri1xY4VtiqDObjGx0Vjl"
data "OQZqibNHiiqs/BaVBpUTqFcOVa5PQM5gfo00NAy9DmLXRXENR6/oSNNHoGckVD1BrkAqJVAXGuDHFtgs"
data "StAArJwyhqGAAfMjoyri7ggAHZU+iAD+wBB2ABQB0AHQAAAGAPRQCGC+GoB8EMBAZADH7AAxDETYDyIC"
data "0WlFQTS6V9TeRQCoAFyYAjBAZGKBGRgAD0BHCPYGqJ2qA2xa41jja1xVG+DbFhg2x6VlbPKctE2AxziN"
data "tcptlZyirxqmUyXjkooAxBIqJPYHoa0JTAFYegCdnZRYNADkI4Cse22DLFrisSqBBWVRSYqAYAUfNbI6"
data "Ti7hKqmAcAAEOwAAHY2AA2QHS0Y2AHIE/oBsxB9AQwQitH8Ts50AMpDAbOQofShgtmIWgZAnrZVVqRQV"
data "MreQTdCCgAAAAgHwCAMQjI4KNGLsgMaH6H0DViUOA0m2uLHFpNqjfx1vgwwb41Wa0gpwXoRnlGOcbVnn"
data "BWP1U5hWCcIrTG/DRtUuooez3tJgculTJJiL2NphgdpbPstANqnKdCbBpj21x6ZYtZ0sZpghBFw4mKii"
data "gRqPmiMOLukCgANl0AFoAAv0Po+gAZfT2AIABsyMAf0oAMAAZkAM6WxvgQ4N8DQUEMtUwPZAhCK8KTRS"
data "tK3d6PogKAyAAX8l9AAygADswAE/Z6AjhCAejhADVExUBeNaT9MZOm2PQNsG+Fc/jb4tM1tir4jGqGUZ"
data "M8uV+S6ZWjUTZynR2lvVRQqXZb2ICulIVwIZyp2YKGyPgD6Gy2YKBRUVF4tPjPFpelZpCEcRFxUTDjQo"
data "yNR80NgOLuV7IyAgZAAC38ADo6ALQMgABgR9CDoABDAaEBgARgADARRQ4IB9BAKKNkoLSplUCopFaB7L"
data "RTgWgCGwoewAAOJigA5BgWudmBoBoASfkBFQjnQLlaYdMovG6Bvg3w6c+FdGCs1tiv4zxXK0jLz8TbDb"
data "p803hXFvTNWL2NI2cyqKoy3sgWJfiQouz8HEy8DYLMtywSiGaVQDnC4iLx5BrgeQxGSsVJxJxBpFREVG"
data "4iwRxUfNl9Mq4vQKQ38AAudmALoWCgAQACQbMqAgPQ0BQ+yGwMAwEH0p2ewMEcAwIAOGQ3sD4FhiiJpH"
data "U2gNlsit40A2LSvZUAVBTmgYI4oOzAAbVEn8EVAC7FMQdgABsAZykIC14ona4DXDt0YOfFt41SuiKiMe"
data "lytMjKbjz/JvHyZS/l6Li/zcdZzL8s1Yy2cqIJWWmmz2iU5eVGkoKGIr4CgkUXJs0RfaBgoaio0xZyNc"
data "YRmtJxCyP4nKrWU08ak8axBpFSolVHSIs4mU9tI+dpWmTi9A0RkBAwBD4aaA+DZfowBlowHwps+hsARg"
data "CnZ/oaMAIUMDAhgADACAwFA3wVAJppoF2mmmiFe9lsWp3Yoe9nooqcQB9BgB8A+HAEPRGBwAreQB6AAa"
data "AAGJSEFVO2mNZzteFBvi28fbDCujCrGa2itFjOFRWTjn/wAzHfiv65dCfLj7YWfoI8uVW0dWz8VUrDor"
data "ZxMpwRculbRFRRZQQxDOUooFQFDBeLXFng1xaZp2otO1NZtZKnEnGZRpFRnFR0iLlVESnG2Xz9HQocXp"
data "AAAgZAQMgI+gAI9AAPoAAAAAAYA9FoQAoaAAwABwACB1NoFUVVqbQLaadSqJBXinEFRSYpVBgaoA9EYg"
data "AAGLyAAkA2AAoAAyhinOFTpMOA1wrp8dc2FdHjvCxK6cOlxljk0lVhRZdHCy6B5f+Rj6+bJMaf5c/wDd"
data "/tlGK6RZxMpwFyqiJFwDi4iKiooyhwFRUTF4zaovDppbqJxgyvJWKWytBVi1AIQZFynKiU9uvLLTZys9"
data "nK6RHiA6Ti9ILZ7KgZUDsCMfABAyQAAAfQAB6IBQwABkDgHAJ0cQAhSKAaAKqFU2jLilQK0qL2QhJyWm"
data "qM8r+lYFlwWN5/CK1ODGK0BGZfRSp/BTELQplYA7AAGXY7ggHoQUgP6ZbCiocKHKg0xb4Vz4tcMlHTj0"
data "1wrnwya41WK22nK8DfCcrwqOL/L/AO0rGctP8rLeWmUYrpFRUqYaC4qVOKoopUTFQRUUmL0oMY2wjPGN"
data "YrNO3URs86mVjqsGCgYARkAPZE6c1mr2No2VydozXlgBxeocAUAWxAABGEC+gwBGAAI+iAGRgD6KBQwI"
data "AOHtJoGZQqB7TaLdRNqgyTDKiClQPvKgTpRcgzy0jqtspEXHgGnjzl4aacs3jk3wz9pwirMoYo0NGAKQ"
data "rPi9FrYJCtDXAhFpWiAtBVhAWqIfQmhTOSlFTgRWPS8URWINca2wvDDFthFRtEZ5STs7dRyf5Hk+QRj5"
data "rvyVMpW7NlpUVExUBcVESrnKhxcTFxUVFxGLXGbEVjFdCROd5LcYpXkgHNDBBAAEgACb5SlSVRp25rFe"
data "XRsQq5vUeyAAAAAPgoQAAAABQUQHECvYAAxopPpgDAADfAFAFRam0BamqLW1BEmFQAjAhoWACsKxWhQZ"
data "5Yp65jSpsnQHh5dTlpPJtho5dXSK2/k5K+Xlnsb4BV/yP7L/ANT+mfrsvXgG8/yJfi55sb+nNrg5Ng65"
data "ljeqenNjLF4+SzvmIrYhMpkYFArQ0BRUEhybAReJSKk5VF4TbacRGM4PK6iojy+S9Rz5c1pZtFgiLCVZ"
data "S/SNHFxMmlRBU6VExciisVyJxaSKh4xrhinDFtjjpYxaV4Z1rkzyZ6YSRkwAyCKZAIEAbcQCQHHbll5I"
data "EFc3pAIQDBfToFsyAGQNAjGgBGAAAAA4Q+ABstgDtLfA2lQxoAAX9mQAjGhBxCsP6KonRmVAWEZAE6V8"
data "GgRorF0tbBMh6PWh9AtFMV6FgI9ednIrWzmIFIqYnJ+lYxFTMWkisY19ZZ0Yaxm9qkaek+Lx8cMNZeqt"
data "cabzxz8H64xcTWEwtaY4aXohD6Z5cqpUGdTY0qbAZXstaXlOUooioUVIiqkXInGbjXGbVDxjXDHZYY21"
data "0+PBqRm0YYLs4VrUKxpzZ1nlGtjPKMdDMjqa5gACKAAAMjWIDhHHfll5FG+AHN6QAAGgAAAAA5wXQ7QP"
data "f4IBQAADALYDYK0bAWlsADA2BBvVAAAAcARkAA0ZWqEVUQEYEAfsC0AUg0ZaArBIq0fALsHIqTgCkVIJ"
data "NNMZ9ATGVUxkVjDvEBPRyptPEGmMa48M8WmKosjIQqDIVJWKKxBKatIIs3EaaVNiKUXjCkXiCsY18eO0"
data "Y411+HxrIlqvF43RJqDHHUN0cqVTVUqIzrPNrkzyYoxvZHklzqggGQyAAwA1yGcKHHbll5A19Ac3pMjA"
data "ENGW+QAFAAFo9AORR9F5gAtjQsAbFKmIQMgAhgAAYF9K9mNCl0e9wDQF9MaAgIyoAvo7CgEvBGAA/AgA"
data "QyAAHAPRwlQDxaYpxjTGAqQsrweiyEZ62vGFo8ewaYtMUY9tJFFAQCAqqQtAikqwkVNJSaBaKxRWClIv"
data "HHksZtt48baDTw4Wuzx46iPFhqNm5HK0ABpkJqk1BNZZNazyZoxyRWmSK5VS+F9AQAAQBkI1yVUMocd+"
data "WXkAUOT0g/6I6AKmVADQgAwQvYAAgOlaCAQDZwQjg0YAUyvEAaA2BQNCjYAhstgZUyEI6BtQhB9KcUD1"
data "oGQCnouzAAfBAGjIb+gaonasQa4NMYzwa4Kh2IrXTPOCIVpMi4KvCNIjGrxoKh6KXaoqA7BFa4BlYmxr"
data "YzqKm8JPKpQPoqZScirwjq8ODLw4bdnjx01zGOqvGaiiNtzAAAJqiqCKjJpWdSjLNnWmbOuVVNI6GQgA"
data "gBAGoKhxJy6d+WK8qg72Tk9QMjAEZAcKj+gBkAAo0BsAX0yAdnC0YgFCcrqAdy4Z3yzeiyrny7B0zyS3"
data "hUzcOW51S/myl6tXFd/ts9uTx+bf6reZf/YNNltGz2iqCdltRWy9i5AYqWaG9JKhi9jbPkwxfsdyZc0w"
data "xp7F7aRsbDF28CZI54P9ouNN8HMuWY2GN8cttcc3Js5ld8VdTy75meWrHHj5MoueW3na6nltoRjfJbS9"
data "7vtNXy6PaCeSOf2on7NXy6v5Yc8v7cu+DlNPMdc8rTHybcWNbY2rrN5dFrHLLkss9Rlc91GcXcuTnKMZ"
data "tc4BSsMdljNujxYBa08WOm8TjNRUdI5VQI1QGQAyoICqKuoyZoyzZVtkyrnVRSVU1gAAAAhVgD2Ru/LF"
data "eYAbk9RGB0AI+wBH8A2BUAIHoCACo0evwFBAB+hCReVVNBnkj1XRrXSjPLGMvJ4+ZZt064Tlj8UcVl3u"
data "74aYeXKTlpnhWdwknYutsfLLzKuZy/XLJNcdf0qbk7FdW4crDDybi5lN9oNAmdDYpgCTnYD4XUFnI2KB"
data "P2Y18QAA1wBgaAGP6LRikc7/AGZfQV8PEpF4wFTkuqfE2QmmINHAPRwaVjjoKcVvSbwjdoxaq5bEhRcg"
data "isVpjTx47VGnix26cJpnhjI021Ix1V7VGcq5W2FbNOzAzTswMgVAVFVU1KM8mWTXJnk5dKgqdJkICkgA"
data "AsBQQduWK84GNOb1EYoAaHYADYFIDIGgIAPgD6AFBSotICtIaHwROUGv0ZKBNVBYIzym0ZY6bWJs2quf"
data "LEdtcsUeskoqMZyrV3saVBTx8mpqruU7ZXHZSWCtp/amMvSv5NAvZ91MzlVxrtFGjIRBQENQFYLSuQGP"
data "iLkcyFWcidjaDSK0zmXKpkpVdiFtWOOVvEMRUn05jyvDxZWczhtPDqLjOssMWkwVjjrpdnBjNrnznDNt"
data "mz0iFIvGFIvGCrxjfx4s/Hi3nAzareoUu2eWe6eNalYraVUZY1cq6jTY2mU9qij2jZ7UVsqWxtAUqLU2"
data "oJyZ1pUZMdKzJVhVgTSMkAAFCAoduWK88AOb1AjAENmQGQAAQGgAAApAKFSOkIVv6A7AAlAEgy7UBWKA"
data "jPKM9flvYjLEVlYWtfWlmkdq0ZCcHKBWfgrF6mx2KjSpLJ9NUgI3VTdGlQC3YPZfr9T6gntF3PrX0+/C"
data "9f0DH2/KpV3x/ovUUb5XOUzHleMA5wcGrV4YiKww9nX4sNc/GXjw1XVhxGozV4yFb3Fa3NllN7GS1yMu"
data "jx6GXTNGGUTpdSgnTXCJxjfx46gLwmony564i88vTFy5Xd3UtYq98qxy5ZCWsajpmS5XLM7GmPkanQ6J"
data "T2xmapk3KjXZ7Zex+zWjTZbRsbNF7TaW07ZtDtTaLS2xapppltBNiaulYgmkdCxCSdJ25YrhoMnN6hvg"
data "AAC0dpAKAKAAMAVMqALZlewBUD6IKCOACMAQnB6GlCo5PsbAqVm1WAGdx55T66a2JymxWOU7T9bWM7Fa"
data "G1ROvycA/wCjLo5QM5ClVsFQa5KVWudiixWOG+U3pp41BfHJ2z8njk5+Om3etl5cJceBHL6qxn1WMaeP"
data "maop+PCWqvj1OEy2aby75GR47xGzHDW9NZVQ8Mr0eymtqnKJTnRZKTURnlEyKsPDHlA8MG2tTkYxPky+"
data "FZtZ55e1R8Voac6yjQVoaBIPQ0gcyVM+UaANpkcyYbOZNeht7H7MZkra+hp7FtOwmitkQQUVGwA2QAAr"
data "AFgmkqzadO3LFcH0A3N6SAvAAEYAgeiAAQtAewR7AiMgH9gEIDKHKAAE6AQHoAQH0wLZgACsPXIFRYzy"
data "mm1ibNqrLUT11Gvqm4ip3+ThWcnOBTh7t4KCX9qLnSkKl4A7VY3Sb+jnArT26jTK3XbCdq9rrQlgwu7R"
data "hlzd1MuqJYo2tlx76rTx5xz2tPHnrsMbTcz4nbbGVjjnNyt8fJBkdXlWKd3K8tJOBiipyUmoiZN1rjiW"
data "GLTqEiWpyupwyVlvZLeWNIHo5GPInQ0vR+qeVZ+pev4bTEeqeRh60XFvcE3FMGJabXFNxMECK9SsQG1d"
data "p0NgobIwOUEFD2QFAgDWAFgDtyxXnQf2A5vSCvACAG9j4FCoMgIGAIGQAj2QgKmSha0co5KoKhp6h7Ay"
data "BgBAAAAAHojFIqogTdlceF6GhWNxLLj42sRcRdZftR3EaVoSql4ToAudqRL9VAOC2jZ/tQtDXBzk5BC0"
data "qcA4K0xu42wm6ywnPTp8WAxa0wi/gk1C+jmZa3TVjjyGqxxLJetRNdJHO1lYSqU7XGBpUgkVIzYo0chy"
data "KkTFToaXIejFRori00WjBlcSuLaxNjODC4p02sTYl5NZ6LS7C0xYJ0FaJFA0DiBFpY0ojRL0PVYJCpBp"
data "1lZeYR6DD0AtmVADQgACnSAgZACEFAgNCCACiKDQAQIcGWvyBjkaEoAyEA/0BoAYIAYAFMAAWho4YI9U"
data "3FpoaFlY6GuGtxlpXEalZ60e1elL1F0HvgtK0AMet0rHC1UEm14YW3UVh42/jw18EvR+LxadExmMTjqR"
data "SudujY1yX1UEEjXCJxjTqN8xjqlUZKtZ5V0kcrU28lCtPGriauLkTiuM2NQ5FaEhxloSGNHoC0NGATor"
data "F6TYCLEWNLE2JgzsTppYmxmwQDDFilotKJhSMDYGCMANGI3KPKIy/Q7AA7AIAAQo0dBI0ZUAAQAjF5AU"
data "j0Qg2Pgh2AQFLYGCP/agAEqBmQAx8IdAOzOCikYAA/hADAAHotGEBJwcxOQ4ppeh+kMQNExi5BDgmrxk"
data "aRni0xVFRQgqoIvGJkaYRYlXhFUTgq6RytTWWbTJllW4xWd7ViheMarMa4riMWkYrpFRUKKjLQMBAAyA"
data "JsUVBNTVVNVEXtNVUZVMEmQZsUAw41pJVRIENmQKlVGapVg8vQUW1dkg7B0oQPRfQGh9MoBCnQCfhKLQ"
data "AjIQFT38FAjtIAAAoIZGBU5NAACMICQxABgjAC/2CAwBvkAC2YHDKHAVFRMUB6Ah6A4qFJwqRUVj20xm"
data "kYzlpAVBoHFQ8Y2wjPGNseI1yx1TTVJrpGKzyZZNcmWbcc6heCGmK1IvFpEYtIxXSKiomKZaMyNAAACK"
data "nSqoiptVUVURai1WTOqmnKe0bPbFiyr2EHtx6jcMqWxtlQC2NgY2WxVg4BpWi0OydCxRAkH9F0oQGuDA"
data "iqvpUE80UyAgZUQvoGjAoDKgCP4AIx0IABgCFhkoJ2ZaEAHaRoGNAbAUCchQaMlSANK0IqQQ5NxUgk4V"
data "AKYq9RIvQJkVMTitKgk5UINAqKkTF4wReMaJkN0jnaCp1NajNZ5MsmmbLK8ukc7Uxrgzx5a4lI0xXEYr"
data "jnXSLiomKZaMAAAABVNVU1URkiqqMmkZ5VFVki9qwDhGzVgADj06QVNVU1hU7GxSBXsNpK1uRHB4/JZW"
data "8u44608fkYeh0aBY5yxWtwE6Gj0NARaVoKEV7Psa5BOi0sqCKSqnQADRiJMaFgEDIAAAMhsAD/0QAAGA"
data "kA6GgEB6CgMjAHBNU/gKiomKgivqomKii4cKKghyKKKgHIYMQTtrjEYzlrJwsS0wCdI500VW01pGWbLL"
data "trkyybjnTxa4s8Y0xSrGmK4iLjFdIqKKGypgAAKACamqqaqIyZ5VpkyyrcZrPJH1WXaVYMQjZrUMCBx6"
data "dIKmqTXNSqVXpNoBNMq3ErzqnemljO7Yehrhk1xtc+OWrG2N2DXco0hUoHoaOcjQJ0FFrhROgrRaBFhW"
data "L0VBIAAgZaAiVohC0DIDIAUAABIexshDAAGC2agMqcARUJUEVFRMqgVOTiYqdqLiomK2IpUiJksFwyis"
data "ZyqLwiyxgrUYoBG1GRUZKqMq1GazzZrzrP63HOrxa4s8WuKVrlcXERcYrpFQyhsqYAAFTKgVRVVNWIjJ"
data "nkvJnm3GKyyvKRkUaZVKaVMdNQbOEccem4CplXNpNSqxNgEVMq1Ecmmefjl6b62PXhHocd3jlpr48tn5"
data "PHvlnjbLpFdEVOGeF203sDl0uXfaIYi9bLQx3FzkGehY0sRYonRWKAM9FV2JAiVS1yBErRUC0StFoCJR"
data "UCBjQF9OAgMACAyhqA4RwDVP6TFQDi4mGIo/pHAXjeFM4uVRcXGeNaQRcm2uERjGuPEWM1XxNOprTABG"
data "0yKzyi6jKtRKyzRFZdlI6ObTFpijFpIxW4uLiMVxitnDAiKYAAEZUE1NVUZNRmoyY51rkxzbjFZZdgUR"
data "pDhykc6c+moYhHHLpuGVMq5NFU1VTQTSOlY1EY6PXBw5Ed0XFz+Xxb3ZxXWWWO4Dk8efcbS7ZeTC4Zbk"
data "4VhkjTaKicar6IchwHoDh+spyNMMdqjC+OzpFxd88e4y8nhm1xPTk0mts/HWdiKnRaUVFTYWuV6TUC/Z"
data "KFmgSVh6PQIoVYWlCHZ60QAGNAID0NCDQP4JAOHooYKhpip0A2qVOjii4qJn6XBFYxphNoxjbDHSpWmM"
data "WmGrFMqNla1GaUMjbZKoyXWeVajNZ0Y9lTxbYa4rxRg0jnXSKi4mLjLRmRooAAAqZUE1FVUZNRlGTHNr"
data "kwzrpGKzogEVk4ohtzrcUIRuPTcMUQObSamrqKCSqiqjOHIIqDsJBYcVFRhnhMo5bLhk9C4sPN4/qVZU"
data "42Vc6c+O5W+N4RppDhYrkEVI28eO0Yzbo8ePDUjHVOTUZeTlvZwx8k4OmGFv5RlhL0rJO6zKsuMssbLy"
data "Vjo3jlxSy8W+Yrc6c2isa3CxNg0z0Ncr1oqgjQsVoaBGtlpehoEDStAE6MwBDRz/AMmCdHo9GBH/AGNG"
data "oDKGIZwoqQFReMTi0xii/HOW0Zzg/ZXO1pKe0SmRlRUg3GaDINxBWeTSs824zWdVgi81eDVYjXFcRi0j"
data "nXSLiomKjLRmRooAABNOlQTUZLrPJqM1nl0wzbZsM66RzrO9nCpxqpFQyhuXTcOGRuPTpDAhuapqaqpo"
data "JpHSqiNL0lUV2ORWiitCHE5YSxRwHD5vFcbsvHfjuz8czx05MsL48tfGa1KudtsGWDfCLCtfHi6McdRl"
data "4o6J06Ry6Rkxzb5Mc4lZc2fbOtvJGNclI5lZ1SAjWWZTksvFxuJl01wy4XWpXPcNJ07tTLuM8vBLzirc"
data "6cmi02y8dnc0m4istE0sL1FRoaWViCdDStDQJ0NK0NAkz0NARjR6Aj0NHFBjPyuQpGmOFEGOLSTQk1E5"
data "5fIrFq7nPglYy7aY1GWsqtohxYigQdIzThpNuMis8qus83SMVH1phyzjTBaka4riI0jnXWKioUVGWgZG"
data "gAABUqaaqJrPJpWeTUSss6wzbZ1jny6RyqDhHFpFGUNx6dIIpKo5dNw4BA5qVTVUqCKDJREVCVB2VFRM"
data "OKKhwQCHE+TxzPHVUqA5ccLjeW+EPPCU8JyQrfxxsjxxddHKoyZZtqyziUc/kY5OjyMM3GqgAkRUaY1k"
data "0xUbYqlZ4rixV99pvgxy64ONMa6Q1zZf4uU65ZZeHKd416MP1l7i+V9V5NwHq9TLw4X4zy/xsKnlfbzr"
data "iPV3X/F/FRf8Zny16jk0WnVf8fJN8GRh6jnDo/go/gTDY59HquieCLnhkXD1HLMbWmHitdM8eM+HxF8s"
data "3tlj4tHdYrtZ5rjNqMst8Ip0qxUKVpiy+rxQa4riMVNQUCDpGacMg6RksqzyXWeVbjFKNcWeLXEpGkXE"
data "Yrxc66RcUmKRowRoAAASaqoqxE1nk0rPJqM1jneWOXbXNjk6xzpfTIykOKiYbj06RRphuPTcUCNhRU1S"
data "QTSOwlEqgA7KnawFDhwAQHOwAOqw7AWJXTh0qgNuaKzyASjDydMMuwHG/VRRewEQLwAUa49KAFXF4gOs"
data "RpFQBqBkAqEQAFU0BlU1IDIIYDQCoAFWeYAMr2VAY6E1ePwBka4qgDUDhgOkZoADpGU1nl0A3GKMW2IB"
data "VjSdLgDnW1RQDLRgAAAATU0BYlRWeQDUZrDNlQHWORUToAqxUMBx6dIZgOPTcM4AwoKgAmpoCj//2Z=="
The result of 12K data lines.
Image
lizard
Posts: 440
Joined: Oct 17, 2017 11:35
Location: Germany

Re: create program to create bitmap

Post by lizard »

Great Joshy, works here on Mint 18 64bit.
Post Reply