だから、最初、私はこのクラスを持っている:"方法を解決できません"を修正するにはどうすればよいですか?
public float getPixel(int height, int width)
{
return data[height][width];
}
public void setPixel(float value, int height, int width)
{
if (value > getMax())
value = getMax();
if (value < 0)
value = 0;
data[height][width] = value;
}
private Image(String magicNumber, int height, int width, float max) {
this.magicNumber = magicNumber;
this.width = width;
this.height = height;
this.max = max;
data = new float[height][width];
}
...
public Image clone()
{
Image clone = new Image(getMagicNumber(), getHeight(), getWidth(), getMax());
for (int i = 0; i < getHeight(); i++)
{
for (int j = 0; j < getWidth(); j++)
{
clone.setPixel(getPixel(i, j), i, j);
}
}
return clone;
}
そして、このクラス:
public class Filter {
public Filter() {
}
public Image linearFilter(Image image, float[][] kernel)
{
Image filtered = image.clone();
for (int i = 0; i < getHeight(); i++)
{ /* cannot resolve getHeight*/
...
}
return filtered;
}
}
私は2つの質問があります。
1)なぜ私はインスタンスを作成する必要はありませんありません。画像のクラス。ここでは既にfiltered.setPixelsを使用しています...
2)「方法を解決できません」という問題を解決するにはどうすればよいですか?
存在しないメソッドを呼び出さないでください。おそらく 'image.getHeight(...)'を呼び出すことを意味しますか?このコードが何をすべきかわからないので、伝えにくいです。イメージは 'java.awt.Image'ですか? –
(1) 'Image'のインスタンスを作成します。 'image.clone()'はどうしていると思いますか? (2)メソッドを呼び出すときに、呼び出すオブジェクトを指定する必要があります。ここでは、Hovercraft氏のアドバイスに従って、 'image.getHeight()'と書いておきたいと思うでしょう。 –
@DawoodibnKareem、明確化: 'java.Ht.Image'インタフェースである場合、' getHeight() 'メソッドはありません。代わりに 'getHeight(ImageObserver observer)'メソッドを使わなければなりません。よろしいですか? –