我的项目我有一个类,在这个类中,我想访问图片的属性。但我不想在这堂课上表现出来。在这门课上,我只想知道图像的宽度和高度,并做一些数学函数来返回一些东西。
我的问题是我无法获得资源。例如,当我写

image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);

它说方法getresources()未定义为类型stego(stego是我的类名)。
请告诉我该怎么做?
public class Stego()
{
    Public Stego(){
        image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);
        imWidth  = image.getWidth();
        imHeight = image.getHeight();
    }
}

最佳答案

getResources()函数属于Context类。因此,除非您的Stego类直接(或间接)扩展Context,否则没有可用的getResources()函数。
因此,您需要做的是传递对应用程序上下文的引用(例如,在Stego类或类似类的构造函数中)。或者如果您只需要一个资源id,那么传递该id可能会更容易。
例如,可能是这样的:

public class Stego()
{
    Public Stego(Context myAppContext){
        image = BitmapFactory.decodeResource(myAppContext.getResources(), R.drawable.tasnim);
        imWidth  = image.getWidth();
        imHeight = image.getHeight();
    }
}

然后,您可以从活动中初始化Stego类的实例,如下所示:
Stego stego = new Stego(this);

07-25 23:15