backgroundimagecanvas.java
来自「example2 众多JAVA实例源码...学习java基础的好帮手」· Java 代码 · 共 88 行
JAVA
88 行
package opusmicro.demos.backgroundimage;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.microedition.amms.GlobalManager;
import javax.microedition.amms.MediaProcessor;
import javax.microedition.amms.control.imageeffect.ImageTransformControl;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
public class BackgroundImageCanvas extends Canvas{
Image img;
private int h;
private int w;
int tileX,tileY,tileW,tileH;
public BackgroundImageCanvas() {
setFullScreenMode(true);
w = getWidth();
h = getHeight();
tileX = 10;tileY=10;tileW=w-20;tileH=h/2-10;
try {
img = Image.createImage("/image1.png");
}
catch (IOException e) {
e.printStackTrace();
}
}
private void paintTileImage(Graphics g){
g.setColor(0x424242);
g.drawRect(tileX-1, tileY-1, tileW+2, tileH+2);
g.setClip(tileX, tileY, tileW, tileH);
for(tileX=10;tileX<w-22;tileX+=img.getWidth()){
for(tileY=10;tileY<h/2-11;tileY+=img.getHeight()){
g.drawImage(img, tileX, tileY, 0);
}
}
g.setClip(0, 0, w, h);
}
private void paintTensileImage(Graphics g) throws MediaException, IOException{
g.setColor(0x551A8B);
g.drawRect(10, h/2+10, w-20, h/2-20);
g.setClip(11, h/2+11, w-22, h/2-22);
// g.fillRect(0, 0, w, h);
Image image = ImageUtils.zoomImage(img, w-22, h/2-22);
g.drawImage(image, 11, h/2+11, 0);
/* MediaProcessor processor = GlobalManager.createMediaProcessor("image/raw");
InputStream is = getClass().getResourceAsStream("/image1.png");
// OutputStream os = null;
g.drawImage(Image.createImage(is), 11, h/2+11, 0);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
processor.setInput(is);
processor.setOutput(dos);
String controlName = "javax.microedition.amms.control.imageeffect.ImageTransformControl";
ImageTransformControl transform = (ImageTransformControl) processor.getControl(controlName);
int origWidth = transform.getSourceWidth();
int origHeight = transform.getSourceHeight();
transform.setSourceRect( 0, 0, origWidth, origHeight);
transform.setTargetSize( origWidth + 100, origHeight + 100, 0);
processor.complete();*/
}
protected void paint(Graphics g) {
g.setColor(-1);
g.fillRect(0, 0, w, h);
paintTileImage(g);
try{
paintTensileImage(g);
}catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?