imageLogo=Image.createImage("/Images/pic.png");
g.drawImage(imageLogo,0,20,Graphics.TOP|Graphics.LEFT);
src文件夹中有Images文件夹,Images中有pic.png
请高手看看为什么会出现Uncaught exception java/lang/OutOfMemoryError.异常.
谢谢拉!!!!!!!!
11 个解决方案
#1
你图片路径应该不对呀,应该得报空指针,可居然报的是内存暴了
用的是eclipse吗?图片多大?除了读图外还有其他操作没?
#2
用的是NetBeans 图片600KB左右,我在网上查时,好像就是吧图片放在src文件夹中..应该只有读图片的操作吧,下面是我程序的代码,麻烦帮我看看拉.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class CanvasDrawTest extends MIDlet implements CommandListener{
private Command exitCommand,aCommand0,aCommand1,aCommand2,aCommand3,aCommand4,aCommand5;
private DemoCanvas myCanvas;
public CanvasDrawTest(){
exitCommand=new Command("Exit",Command.EXIT,2);
aCommand0=new Command("坐标移动演示",Command.SCREEN,3);
aCommand1=new Command("对齐演示",Command.SCREEN,3);
aCommand2=new Command("弧线与填充",Command.SCREEN,3);
aCommand3=new Command("扇形图",Command.SCREEN,3);
aCommand4=new Command("线条演示",Command.SCREEN,3);
aCommand5=new Command("图形显示",Command.SCREEN,3);
myCanvas=new DemoCanvas();
myCanvas.addCommand(exitCommand);
myCanvas.addCommand(aCommand0);
myCanvas.addCommand(aCommand1);
myCanvas.addCommand(aCommand2);
myCanvas.addCommand(aCommand3);
myCanvas.addCommand(aCommand4);
myCanvas.addCommand(aCommand5);
myCanvas.setCommandListener(this);
}
public void startApp() {
Display.getDisplay(this).setCurrent(myCanvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c,Displayable d){
if(c==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if(c==aCommand0)
{
myCanvas.demoType=0;
myCanvas.textShow="坐标移动演示";
myCanvas.repaint();
}
else if(c==aCommand1)
{
myCanvas.demoType=1;
myCanvas.textShow="对齐演示";
myCanvas.repaint();
}
else if(c==aCommand2)
{
myCanvas.demoType=2;
myCanvas.textShow="弧线与填充";
myCanvas.repaint();
}
else if(c==aCommand3)
{
myCanvas.demoType=3;
myCanvas.textShow="扇形图";
myCanvas.repaint();
}
else if(c==aCommand4)
{
myCanvas.demoType=4;
myCanvas.textShow="线条演示";
myCanvas.repaint();
}
else if(c==aCommand5)
{
myCanvas.demoType=5;
myCanvas.textShow="图片显示";
myCanvas.repaint();
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;
public class DemoCanvas extends Canvas{
public String textShow="坐标移动演示";
public int demoType=0;
Image imageLogo;
private int[] bRGB={0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,};
/** Creates a new instance of DemoCanvas */
public DemoCanvas() {
loadImage();
}
public void loadImage(){
try
{
imageLogo=Image.createImage("/Images/pic.png");
}
catch(IOException e)
{
System.out.println("load png resource error "+e.getMessage());
imageLogo=null;
}
}
public void paint(Graphics g){
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
if(0==demoType)
drawType0(g);
else if(1==demoType)
drawType1(g);
else if(2==demoType)
drawType2(g);
else if(3==demoType)
drawType3(g);
else if(4==demoType)
drawType4(g);
else if(5==demoType)
drawType5(g);
}
public void drawType0(Graphics g){
for(int i=0;i<4;i++){
g.translate(20,20);
g.drawString("坐标(0,0)",0,0,Graphics.TOP|Graphics.LEFT);
System.out.println("coordinate= "+g.getTranslateX()+","+g.getTranslateY());
}
}
public void drawType1(Graphics g){
g.setColor(0x0000ff);
g.drawLine(getWidth()/2,0, getWidth()/2, getHeight());
g.drawLine(0,getHeight()/2, getHeight(), getHeight()/2);
g.setColor(0x000000);
g.drawString("TOP_LEFT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.LEFT);
g.drawString("BOTTOM_LEFT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.LEFT);
g.drawString("TOP_RIGHT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.RIGHT);
g.drawString("BOTTOM_RIGHT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.RIGHT);
}
public void drawType2(Graphics g){
g.setColor(0x00ff0000);
g.drawArc(20,30,30,30,0,90);
g.drawArc(55,30,30,30,0,-180);
g.drawArc(90,30,30,30,0,360);
g.setColor(0x0000ff00);
g.fillArc(20,65,30,30,0,90);
g.fillArc(55,65,30,30,0,-180);
g.fillArc(90,65,30,30,0,360);
}
public void drawType3(Graphics g){
g.setColor(0x00ff0000);
g.fillArc(40,40,110,110,0,130);
g.setColor(0x0000ff00);
g.fillArc(40,40,110,110,130,90);
g.setColor(0x000000ff);
g.fillArc(40,40,110,110,220,140);
}
public void drawType4(Graphics g){
g.setStrokeStyle(Graphics.SOLID);
g.setColor(0x00000000);
g.drawLine(2,20,20,40);
g.drawLine(20,40,50,30);
g.drawLine(50,30,80,70);
g.drawLine(80,70,110,60);
g.setStrokeStyle(Graphics.DOTTED);
g.setColor(0x00ff0000);
g.drawLine(2,40,20,40);
g.drawLine(20,30,50,50);
g.drawLine(50,50,80,10);
g.drawLine(80,10,110,40);
}
public void drawType5(Graphics g){
if(null!=imageLogo)
{
g.drawImage(imageLogo,0,20,Graphics.TOP|Graphics.LEFT);
}
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class CanvasDrawTest extends MIDlet implements CommandListener{
private Command exitCommand,aCommand0,aCommand1,aCommand2,aCommand3,aCommand4,aCommand5;
private DemoCanvas myCanvas;
public CanvasDrawTest(){
exitCommand=new Command("Exit",Command.EXIT,2);
aCommand0=new Command("坐标移动演示",Command.SCREEN,3);
aCommand1=new Command("对齐演示",Command.SCREEN,3);
aCommand2=new Command("弧线与填充",Command.SCREEN,3);
aCommand3=new Command("扇形图",Command.SCREEN,3);
aCommand4=new Command("线条演示",Command.SCREEN,3);
aCommand5=new Command("图形显示",Command.SCREEN,3);
myCanvas=new DemoCanvas();
myCanvas.addCommand(exitCommand);
myCanvas.addCommand(aCommand0);
myCanvas.addCommand(aCommand1);
myCanvas.addCommand(aCommand2);
myCanvas.addCommand(aCommand3);
myCanvas.addCommand(aCommand4);
myCanvas.addCommand(aCommand5);
myCanvas.setCommandListener(this);
}
public void startApp() {
Display.getDisplay(this).setCurrent(myCanvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c,Displayable d){
if(c==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if(c==aCommand0)
{
myCanvas.demoType=0;
myCanvas.textShow="坐标移动演示";
myCanvas.repaint();
}
else if(c==aCommand1)
{
myCanvas.demoType=1;
myCanvas.textShow="对齐演示";
myCanvas.repaint();
}
else if(c==aCommand2)
{
myCanvas.demoType=2;
myCanvas.textShow="弧线与填充";
myCanvas.repaint();
}
else if(c==aCommand3)
{
myCanvas.demoType=3;
myCanvas.textShow="扇形图";
myCanvas.repaint();
}
else if(c==aCommand4)
{
myCanvas.demoType=4;
myCanvas.textShow="线条演示";
myCanvas.repaint();
}
else if(c==aCommand5)
{
myCanvas.demoType=5;
myCanvas.textShow="图片显示";
myCanvas.repaint();
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;
public class DemoCanvas extends Canvas{
public String textShow="坐标移动演示";
public int demoType=0;
Image imageLogo;
private int[] bRGB={0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,};
/** Creates a new instance of DemoCanvas */
public DemoCanvas() {
loadImage();
}
public void loadImage(){
try
{
imageLogo=Image.createImage("/Images/pic.png");
}
catch(IOException e)
{
System.out.println("load png resource error "+e.getMessage());
imageLogo=null;
}
}
public void paint(Graphics g){
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
if(0==demoType)
drawType0(g);
else if(1==demoType)
drawType1(g);
else if(2==demoType)
drawType2(g);
else if(3==demoType)
drawType3(g);
else if(4==demoType)
drawType4(g);
else if(5==demoType)
drawType5(g);
}
public void drawType0(Graphics g){
for(int i=0;i<4;i++){
g.translate(20,20);
g.drawString("坐标(0,0)",0,0,Graphics.TOP|Graphics.LEFT);
System.out.println("coordinate= "+g.getTranslateX()+","+g.getTranslateY());
}
}
public void drawType1(Graphics g){
g.setColor(0x0000ff);
g.drawLine(getWidth()/2,0, getWidth()/2, getHeight());
g.drawLine(0,getHeight()/2, getHeight(), getHeight()/2);
g.setColor(0x000000);
g.drawString("TOP_LEFT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.LEFT);
g.drawString("BOTTOM_LEFT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.LEFT);
g.drawString("TOP_RIGHT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.RIGHT);
g.drawString("BOTTOM_RIGHT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.RIGHT);
}
public void drawType2(Graphics g){
g.setColor(0x00ff0000);
g.drawArc(20,30,30,30,0,90);
g.drawArc(55,30,30,30,0,-180);
g.drawArc(90,30,30,30,0,360);
g.setColor(0x0000ff00);
g.fillArc(20,65,30,30,0,90);
g.fillArc(55,65,30,30,0,-180);
g.fillArc(90,65,30,30,0,360);
}
public void drawType3(Graphics g){
g.setColor(0x00ff0000);
g.fillArc(40,40,110,110,0,130);
g.setColor(0x0000ff00);
g.fillArc(40,40,110,110,130,90);
g.setColor(0x000000ff);
g.fillArc(40,40,110,110,220,140);
}
public void drawType4(Graphics g){
g.setStrokeStyle(Graphics.SOLID);
g.setColor(0x00000000);
g.drawLine(2,20,20,40);
g.drawLine(20,40,50,30);
g.drawLine(50,30,80,70);
g.drawLine(80,70,110,60);
g.setStrokeStyle(Graphics.DOTTED);
g.setColor(0x00ff0000);
g.drawLine(2,40,20,40);
g.drawLine(20,30,50,50);
g.drawLine(50,50,80,10);
g.drawLine(80,10,110,40);
}
public void drawType5(Graphics g){
if(null!=imageLogo)
{
g.drawImage(imageLogo,0,20,Graphics.TOP|Graphics.LEFT);
}
}
}
#3
600K的图...
尺寸多大的?用小图试试。图片尺寸最好在屏幕尺寸的两倍以内。
尺寸多大的?用小图试试。图片尺寸最好在屏幕尺寸的两倍以内。
#4
尺寸是1632*1224
我弄小了试试看
我弄小了试试看
#5
不行啊,图片40KB还是这个异常
#6
和图片文件大小没关。和图片的尺寸大小有关
#7
尺寸也变小了啊,400*300,我在试试
#8
不行,应该跟图片没关系,假如吧imageLogo=Image.createImage("/Images/pic.png");
写成imageLogo=Image.createImage("/pic.png");就没这个异常了,但图片没读出来
写成imageLogo=Image.createImage("/pic.png");就没这个异常了,但图片没读出来
#9
src存放的是源码
res存放的是图片和声音资源。
请楼主将图片放到res目录下试试
res存放的是图片和声音资源。
请楼主将图片放到res目录下试试
#10
目录里面没有res啊,要自己建吗?
#11
我试出来拉,谢谢各位拉。。。。
#1
你图片路径应该不对呀,应该得报空指针,可居然报的是内存暴了
用的是eclipse吗?图片多大?除了读图外还有其他操作没?
#2
用的是NetBeans 图片600KB左右,我在网上查时,好像就是吧图片放在src文件夹中..应该只有读图片的操作吧,下面是我程序的代码,麻烦帮我看看拉.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class CanvasDrawTest extends MIDlet implements CommandListener{
private Command exitCommand,aCommand0,aCommand1,aCommand2,aCommand3,aCommand4,aCommand5;
private DemoCanvas myCanvas;
public CanvasDrawTest(){
exitCommand=new Command("Exit",Command.EXIT,2);
aCommand0=new Command("坐标移动演示",Command.SCREEN,3);
aCommand1=new Command("对齐演示",Command.SCREEN,3);
aCommand2=new Command("弧线与填充",Command.SCREEN,3);
aCommand3=new Command("扇形图",Command.SCREEN,3);
aCommand4=new Command("线条演示",Command.SCREEN,3);
aCommand5=new Command("图形显示",Command.SCREEN,3);
myCanvas=new DemoCanvas();
myCanvas.addCommand(exitCommand);
myCanvas.addCommand(aCommand0);
myCanvas.addCommand(aCommand1);
myCanvas.addCommand(aCommand2);
myCanvas.addCommand(aCommand3);
myCanvas.addCommand(aCommand4);
myCanvas.addCommand(aCommand5);
myCanvas.setCommandListener(this);
}
public void startApp() {
Display.getDisplay(this).setCurrent(myCanvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c,Displayable d){
if(c==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if(c==aCommand0)
{
myCanvas.demoType=0;
myCanvas.textShow="坐标移动演示";
myCanvas.repaint();
}
else if(c==aCommand1)
{
myCanvas.demoType=1;
myCanvas.textShow="对齐演示";
myCanvas.repaint();
}
else if(c==aCommand2)
{
myCanvas.demoType=2;
myCanvas.textShow="弧线与填充";
myCanvas.repaint();
}
else if(c==aCommand3)
{
myCanvas.demoType=3;
myCanvas.textShow="扇形图";
myCanvas.repaint();
}
else if(c==aCommand4)
{
myCanvas.demoType=4;
myCanvas.textShow="线条演示";
myCanvas.repaint();
}
else if(c==aCommand5)
{
myCanvas.demoType=5;
myCanvas.textShow="图片显示";
myCanvas.repaint();
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;
public class DemoCanvas extends Canvas{
public String textShow="坐标移动演示";
public int demoType=0;
Image imageLogo;
private int[] bRGB={0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,};
/** Creates a new instance of DemoCanvas */
public DemoCanvas() {
loadImage();
}
public void loadImage(){
try
{
imageLogo=Image.createImage("/Images/pic.png");
}
catch(IOException e)
{
System.out.println("load png resource error "+e.getMessage());
imageLogo=null;
}
}
public void paint(Graphics g){
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
if(0==demoType)
drawType0(g);
else if(1==demoType)
drawType1(g);
else if(2==demoType)
drawType2(g);
else if(3==demoType)
drawType3(g);
else if(4==demoType)
drawType4(g);
else if(5==demoType)
drawType5(g);
}
public void drawType0(Graphics g){
for(int i=0;i<4;i++){
g.translate(20,20);
g.drawString("坐标(0,0)",0,0,Graphics.TOP|Graphics.LEFT);
System.out.println("coordinate= "+g.getTranslateX()+","+g.getTranslateY());
}
}
public void drawType1(Graphics g){
g.setColor(0x0000ff);
g.drawLine(getWidth()/2,0, getWidth()/2, getHeight());
g.drawLine(0,getHeight()/2, getHeight(), getHeight()/2);
g.setColor(0x000000);
g.drawString("TOP_LEFT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.LEFT);
g.drawString("BOTTOM_LEFT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.LEFT);
g.drawString("TOP_RIGHT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.RIGHT);
g.drawString("BOTTOM_RIGHT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.RIGHT);
}
public void drawType2(Graphics g){
g.setColor(0x00ff0000);
g.drawArc(20,30,30,30,0,90);
g.drawArc(55,30,30,30,0,-180);
g.drawArc(90,30,30,30,0,360);
g.setColor(0x0000ff00);
g.fillArc(20,65,30,30,0,90);
g.fillArc(55,65,30,30,0,-180);
g.fillArc(90,65,30,30,0,360);
}
public void drawType3(Graphics g){
g.setColor(0x00ff0000);
g.fillArc(40,40,110,110,0,130);
g.setColor(0x0000ff00);
g.fillArc(40,40,110,110,130,90);
g.setColor(0x000000ff);
g.fillArc(40,40,110,110,220,140);
}
public void drawType4(Graphics g){
g.setStrokeStyle(Graphics.SOLID);
g.setColor(0x00000000);
g.drawLine(2,20,20,40);
g.drawLine(20,40,50,30);
g.drawLine(50,30,80,70);
g.drawLine(80,70,110,60);
g.setStrokeStyle(Graphics.DOTTED);
g.setColor(0x00ff0000);
g.drawLine(2,40,20,40);
g.drawLine(20,30,50,50);
g.drawLine(50,50,80,10);
g.drawLine(80,10,110,40);
}
public void drawType5(Graphics g){
if(null!=imageLogo)
{
g.drawImage(imageLogo,0,20,Graphics.TOP|Graphics.LEFT);
}
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class CanvasDrawTest extends MIDlet implements CommandListener{
private Command exitCommand,aCommand0,aCommand1,aCommand2,aCommand3,aCommand4,aCommand5;
private DemoCanvas myCanvas;
public CanvasDrawTest(){
exitCommand=new Command("Exit",Command.EXIT,2);
aCommand0=new Command("坐标移动演示",Command.SCREEN,3);
aCommand1=new Command("对齐演示",Command.SCREEN,3);
aCommand2=new Command("弧线与填充",Command.SCREEN,3);
aCommand3=new Command("扇形图",Command.SCREEN,3);
aCommand4=new Command("线条演示",Command.SCREEN,3);
aCommand5=new Command("图形显示",Command.SCREEN,3);
myCanvas=new DemoCanvas();
myCanvas.addCommand(exitCommand);
myCanvas.addCommand(aCommand0);
myCanvas.addCommand(aCommand1);
myCanvas.addCommand(aCommand2);
myCanvas.addCommand(aCommand3);
myCanvas.addCommand(aCommand4);
myCanvas.addCommand(aCommand5);
myCanvas.setCommandListener(this);
}
public void startApp() {
Display.getDisplay(this).setCurrent(myCanvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c,Displayable d){
if(c==exitCommand)
{
destroyApp(false);
notifyDestroyed();
}
else if(c==aCommand0)
{
myCanvas.demoType=0;
myCanvas.textShow="坐标移动演示";
myCanvas.repaint();
}
else if(c==aCommand1)
{
myCanvas.demoType=1;
myCanvas.textShow="对齐演示";
myCanvas.repaint();
}
else if(c==aCommand2)
{
myCanvas.demoType=2;
myCanvas.textShow="弧线与填充";
myCanvas.repaint();
}
else if(c==aCommand3)
{
myCanvas.demoType=3;
myCanvas.textShow="扇形图";
myCanvas.repaint();
}
else if(c==aCommand4)
{
myCanvas.demoType=4;
myCanvas.textShow="线条演示";
myCanvas.repaint();
}
else if(c==aCommand5)
{
myCanvas.demoType=5;
myCanvas.textShow="图片显示";
myCanvas.repaint();
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;
public class DemoCanvas extends Canvas{
public String textShow="坐标移动演示";
public int demoType=0;
Image imageLogo;
private int[] bRGB={0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,0x0000ff00,0x0000ff00,0x0000ff00,
0x0000ff00,0xffff0000,};
/** Creates a new instance of DemoCanvas */
public DemoCanvas() {
loadImage();
}
public void loadImage(){
try
{
imageLogo=Image.createImage("/Images/pic.png");
}
catch(IOException e)
{
System.out.println("load png resource error "+e.getMessage());
imageLogo=null;
}
}
public void paint(Graphics g){
g.setColor(0xffffff);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0x000000);
g.drawString(textShow,0,0,Graphics.TOP|Graphics.LEFT);
if(0==demoType)
drawType0(g);
else if(1==demoType)
drawType1(g);
else if(2==demoType)
drawType2(g);
else if(3==demoType)
drawType3(g);
else if(4==demoType)
drawType4(g);
else if(5==demoType)
drawType5(g);
}
public void drawType0(Graphics g){
for(int i=0;i<4;i++){
g.translate(20,20);
g.drawString("坐标(0,0)",0,0,Graphics.TOP|Graphics.LEFT);
System.out.println("coordinate= "+g.getTranslateX()+","+g.getTranslateY());
}
}
public void drawType1(Graphics g){
g.setColor(0x0000ff);
g.drawLine(getWidth()/2,0, getWidth()/2, getHeight());
g.drawLine(0,getHeight()/2, getHeight(), getHeight()/2);
g.setColor(0x000000);
g.drawString("TOP_LEFT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.LEFT);
g.drawString("BOTTOM_LEFT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.LEFT);
g.drawString("TOP_RIGHT",getWidth()/2, getHeight()/2,Graphics.TOP|Graphics.RIGHT);
g.drawString("BOTTOM_RIGHT",getWidth()/2, getHeight()/2,Graphics.BOTTOM|Graphics.RIGHT);
}
public void drawType2(Graphics g){
g.setColor(0x00ff0000);
g.drawArc(20,30,30,30,0,90);
g.drawArc(55,30,30,30,0,-180);
g.drawArc(90,30,30,30,0,360);
g.setColor(0x0000ff00);
g.fillArc(20,65,30,30,0,90);
g.fillArc(55,65,30,30,0,-180);
g.fillArc(90,65,30,30,0,360);
}
public void drawType3(Graphics g){
g.setColor(0x00ff0000);
g.fillArc(40,40,110,110,0,130);
g.setColor(0x0000ff00);
g.fillArc(40,40,110,110,130,90);
g.setColor(0x000000ff);
g.fillArc(40,40,110,110,220,140);
}
public void drawType4(Graphics g){
g.setStrokeStyle(Graphics.SOLID);
g.setColor(0x00000000);
g.drawLine(2,20,20,40);
g.drawLine(20,40,50,30);
g.drawLine(50,30,80,70);
g.drawLine(80,70,110,60);
g.setStrokeStyle(Graphics.DOTTED);
g.setColor(0x00ff0000);
g.drawLine(2,40,20,40);
g.drawLine(20,30,50,50);
g.drawLine(50,50,80,10);
g.drawLine(80,10,110,40);
}
public void drawType5(Graphics g){
if(null!=imageLogo)
{
g.drawImage(imageLogo,0,20,Graphics.TOP|Graphics.LEFT);
}
}
}
#3
600K的图...
尺寸多大的?用小图试试。图片尺寸最好在屏幕尺寸的两倍以内。
尺寸多大的?用小图试试。图片尺寸最好在屏幕尺寸的两倍以内。
#4
尺寸是1632*1224
我弄小了试试看
我弄小了试试看
#5
不行啊,图片40KB还是这个异常
#6
和图片文件大小没关。和图片的尺寸大小有关
#7
尺寸也变小了啊,400*300,我在试试
#8
不行,应该跟图片没关系,假如吧imageLogo=Image.createImage("/Images/pic.png");
写成imageLogo=Image.createImage("/pic.png");就没这个异常了,但图片没读出来
写成imageLogo=Image.createImage("/pic.png");就没这个异常了,但图片没读出来
#9
src存放的是源码
res存放的是图片和声音资源。
请楼主将图片放到res目录下试试
res存放的是图片和声音资源。
请楼主将图片放到res目录下试试
#10
目录里面没有res啊,要自己建吗?
#11
我试出来拉,谢谢各位拉。。。。