Who did use Base64 Image for Button?

global Logo_image = "...."
local ConvertClass = dotnetclass "system.convert"
local ImageClass = dotnetclass "system.drawing.image"
fn ConvertBase64StringToImage string =
(
bytearr = convertclass.FromBase64String string
memstream = dotnetobject "System.IO.MemoryStream" bytearr
DecodedImg = ImageClass.fromstream memstream
memstream.close()
DecodedImg
)
btn_image = ConvertBase64StringToImage Logo_image
button Align_Right width:45 height:45 image:#(btn_image, undefined, 1,1,1,1,1)

-----Why didn't the image show?

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
johnim's picture

--First use the "Base64

--First use the "Base64 encoding" developed by lonerobot in http://lonerobot.net/?p=314 to convert an image (preferential .PNG without background) to Base64 string
 
(
	local icon_example = "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"
	local ConvertClass = dotNetClass "System.Convert"
	local ImageClass = dotNetClass "System.Drawing.Image"
	fn StringToImage str =
	(
		byteArr = ConvertClass.FromBase64String str
		memstream = dotnetobject "System.IO.MemoryStream" byteArr
		DecodedImg = ImageClass.fromstream memstream
		memstream.close() ; return DecodedImg
	)
 
	rollout test "" width:100 height:100
	(
		dotNetControl btn_test "button" width:50 height:50 pos:[5,5]
		on test open do
		(
			btn_test.BackgroundImage = dotnetObject "System.Drawing.Bitmap" (StringToImage icon_example)
			btn_test.BackgroundImageLayout = btn_test.BackgroundImageLayout.Zoom	
			btn_test.flatappearance.bordersize = 0		
			btn_test.backColor=(dotnetclass "System.Drawing.Color").FromArgb 54 53 69
			btn_test.flatStyle=(dotNetClass "System.Windows.Forms.FlatStyle").flat			
		)
	)
	createdialog test bgcolor:(color 54 53 69) 
)
miauu's picture

.

(
	global rol_miauu
	try(destroyDialog rol_miauu)catch()
	rollout rol_miauu "miauu"
	(
		local clipboardClass = dotNetClass "System.Windows.Forms.Clipboard"
		local ConvertClass = dotnetclass "system.convert"
		local imageclass = dotNetclass "System.Drawing.image"			
 
		function String2Bmp string =
		(
			local bytearr = convertclass.FromBase64String string
			local memstream = dotnetobject "System.IO.MemoryStream" bytearr
			local DecodedImg = ImageClass.fromstream memstream
			memstream.close()
			clipboardClass.setImage (DecodedImg)
			iconBMP = (getClipboardBitmap())
		)
		local btnIcon = String2Bmp "iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAIUlEQVQoU2NIIQKAFN3BC2ihCEhiBcNDER4AVUQApKQAAJBR8eGOGOujAAAAAElFTkSuQmCC"
 
		button btn_select "Select" width:18 height:18 images:#(btnIcon, btnIcon,1,1,1,1,1)
	)
	createdialog rol_miauu
)
season_X's picture

it is great,thank you so

it is great,thank you so much!

jahman's picture

.

from mxs reference

Button UI Control
Parameters:

images:

An image-specification array for providing bitmap images for the button. If this is specified, the <caption> is ignored and the contents of the button are replaced with the bitmaps.

it expects array of bitmaps and not dotnetclass "system.drawing.image" image objects

TsveTan's picture

.

Who did this script?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.