plus怎么实现切图效果

By admin at 2018-01-28 • 0人收藏 • 1557人看过

plus控件支持用GDI+任意扩展

import inet.http;var pngData = inet.http().get("http://www.baidu.com/img/baidu_logo.gif");var bitmap = gdip.bitmap( pngData )var bitmagNew = gdip.bitmap(50,50);bitmagNew.graphics.drawImageRectRect(bitmap,0,0,50,50,30,30,50,50)winform.plus.skin(    background = {          default = bitmagNew;     })

关键代码就一句 bitmagNew.graphics.drawImageRectRect(bitmap,0,0,50,50,30,30,50,50)就算你不切图,你还是要指定一大堆坐标的

plus控件扩展是非常方便的,在winform.plus.onDrawBackground事件里,还可以自己用GDI+画,GDI+很方便刚才发的那个代码写复杂了,实际上用 bitmap.clone(30,30,50,50) 就可以了,本来想加个函数,发现已经有了

可以直接切分图像

  winform.plus.skin(    background = {          default = gdip.bitmap( "你的图像路径" ).clone(30,30,50,50) ;     })



2 个回复 | 最后更新于 2018-04-06
2018-01-28   #1

IMG_2365.PNG

2018-04-06   #2

jacen更新了bitmap库新增一个函数split,使切图更方便了.

blob.png

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button={cls="button";text="生成预览";left=512;top=368;right=760;bottom=468;z=3};
plus={cls="plus";left=135;top=107;right=405;bottom=335;bgcolor=15780518;z=1};
plus2={cls="plus";left=544;top=69;right=737;bottom=196;bgcolor=12639424;notify=1;repeat="center";z=2};
static={cls="static";text="行数";left=514;top=317;right=546;bottom=337;transparent=1;z=6};
static2={cls="static";text="列数";left=642;top=316;right=677;bottom=336;transparent=1;z=7};
上={cls="edit";text="0";left=232;top=72;right=298;bottom=99;align="center";edge=1;multiline=1;z=8};
下={cls="edit";text="0";left=225;top=341;right=291;bottom=368;align="center";edge=1;z=10};
列数={cls="edit";text="4";left=691;top=314;right=757;bottom=341;align="center";edge=1;z=5};
右={cls="edit";text="0";left=415;top=210;right=481;bottom=237;align="center";edge=1;z=9};
左={cls="edit";text="0";left=57;top=209;right=123;bottom=236;align="center";edge=1;z=11};
行数={cls="edit";text="1";left=554;top=314;right=620;bottom=341;align="center";edge=1;z=4}
)
/*}}*/

var file = "";
import gdip.bitmap;
winform.onDropFiles = function(files){
	file = files[1];
	winform.plus.background = file;
}

winform.button.oncommand = function(id,event){
	var bitback = gdip.bitmap(file).split(winform.列数.text,winform.行数.text,winform.上.text,winform.右.text,winform.下.text,winform.左.text)
	winform.plus2.skin(
		background = {
			default = bitback[1]; 
			hover = bitback[2];
			active = bitback[3];
		}
	)
}


winform.plus2.oncommand = function(id,event){
	
}

winform.show() 
win.loopMessage();


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...