Swt画背景图片,通过一个小图片,画到背景任何一个位置
2013-02-21 20:18
387 查看
代码
Java代码
public static Image makeImageInLocation(Image smallImg,
int location, Color fillColor, Point size) {
if (size.x<=0||size.y<=0) {
return null;
}
Image img = new Image(smallImg.getDevice(), size.x, size.y);
GC gc = new GC(img);
img.setBackground(fillColor);
Rectangle smImgBounds = smallImg.getBounds();
switch (location) {
case MIDDLE:
gc.drawImage(smallImg, size.x / 2, size.y /
2);
break;
case LEFT_BOTTOM:
gc.drawImage(smallImg, size.x - smImgBounds.width - 1, size.y - smImgBounds.height -
1);
break;
case LEFT_TOP:
gc.drawImage(smallImg, size.x - smImgBounds.width - 1,
1);
break;
case RIGHT_BOTTOM:
gc.drawImage(smallImg, 1, size.y - smImgBounds.height -
1);
break;
case RIGHT_TOP:
gc.drawImage(smallImg, 1, 1);
break;
default:
break;
}
gc.dispose();
return img;
}
public static
final int MIDDLE = 0;
public static
final int LEFT_BOTTOM =
1;
public static
final int LEFT_TOP = 2;
public static
final int RIGHT_BOTTOM =
3;
public static
final int RIGHT_TOP = 4;
Java代码
public static Image makeImageInLocation(Image smallImg,
int location, Color fillColor, Point size) {
if (size.x<=0||size.y<=0) {
return null;
}
Image img = new Image(smallImg.getDevice(), size.x, size.y);
GC gc = new GC(img);
img.setBackground(fillColor);
Rectangle smImgBounds = smallImg.getBounds();
switch (location) {
case MIDDLE:
gc.drawImage(smallImg, size.x / 2, size.y /
2);
break;
case LEFT_BOTTOM:
gc.drawImage(smallImg, size.x - smImgBounds.width - 1, size.y - smImgBounds.height -
1);
break;
case LEFT_TOP:
gc.drawImage(smallImg, size.x - smImgBounds.width - 1,
1);
break;
case RIGHT_BOTTOM:
gc.drawImage(smallImg, 1, size.y - smImgBounds.height -
1);
break;
case RIGHT_TOP:
gc.drawImage(smallImg, 1, 1);
break;
default:
break;
}
gc.dispose();
return img;
}
public static
final int MIDDLE = 0;
public static
final int LEFT_BOTTOM =
1;
public static
final int LEFT_TOP = 2;
public static
final int RIGHT_BOTTOM =
3;
public static
final int RIGHT_TOP = 4;
public static Image makeImageInLocation(Image smallImg, int location, Color fillColor, Point size) { if (size.x<=0||size.y<=0) { return null; } Image img = new Image(smallImg.getDevice(), size.x, size.y); GC gc = new GC(img); img.setBackground(fillColor); Rectangle smImgBounds = smallImg.getBounds(); switch (location) { case MIDDLE: gc.drawImage(smallImg, size.x / 2, size.y / 2); break; case LEFT_BOTTOM: gc.drawImage(smallImg, size.x - smImgBounds.width - 1, size.y - smImgBounds.height - 1); break; case LEFT_TOP: gc.drawImage(smallImg, size.x - smImgBounds.width - 1, 1); break; case RIGHT_BOTTOM: gc.drawImage(smallImg, 1, size.y - smImgBounds.height - 1); break; case RIGHT_TOP: gc.drawImage(smallImg, 1, 1); break; default: break; } gc.dispose(); return img; } public static final int MIDDLE = 0; public static final int LEFT_BOTTOM = 1; public static final int LEFT_TOP = 2; public static final int RIGHT_BOTTOM = 3; public static final int RIGHT_TOP = 4;
相关文章推荐
- [转]通过css控制背景图片位置-back…
- 如何实现在一个界面上点击不同的位置,会有跳转到不同的Activity上(假设背景是一个图片)
- 通过css将多个图标或图片用同一张图片通过定位背景位置调用到页面
- 通过css将多个图标或图片用同一张图片通过定位背景位置调用到页面
- 背景图片时一个雪碧图。图片写在数组中通过循环获取
- 淘宝灵活的圆角框--通过一个圆形图片形成圆角原理
- android studio 通过一个类名找到文件所在的位置
- 有关ie6下PNG图片背景不透明的一个js的解决办法
- 一个Android自定义背景视图,通过触摸绘制类星空背景图
- 怎样通过一张图片找到你的位置?
- 【学习摘记】马士兵HTML & CSS_课时2_链接到页面的某个具体位置、背景图片与引用路径
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
- [置顶] html5页面,背景是一个整体的图片,键盘弹出,页面变形(页面img压缩)
- 在网页中插入一个透明背景的PNG图片
- Android开发中如何改变RadioButton背景图片和文字的相对位置(转)
- 通过点击按钮-更换JPanel的背景图片
- 微信公共平台开发入门-通过有道词典实现翻译—位置消息—图片消息处理
- css3实现一个div设置多张背景图片及background-image属性
- background-origin设置元素背景图片的原始起始位置
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。