我試圖更改圖像的亮度,對比度和其他值。我發現,我使用for循環經典雙了很多這些操作的,只是運行的雙迴路內的一些簡單的數學,如下圖所示:創建通用方法以將特定方法作爲參數運行
public void changeBrightness(int brightness)
{
for(int i=0; i<height; i++)
{
for(int j=0; j<width; j++)
{
pixels[j][i] = MathUtils.ensureRange(pixels[j][i] + brightness,0,254);
}
}
}
不過,我現在需要以幾乎完全相同的形式創建一個changeContrast方法,並且我想讓這些操作在設置像素的時候插入一點點不同的數學。所以,我想用double for循環創建一個泛型方法,它將執行一個作爲參數傳遞的方法。在Java 7中我會怎麼做呢?下面是我在想什麼的例子:
public void runPixelOperation(***pixel operation method goes here***)
{
for(int i=0; i<height; i++)
{
for(int j=0; j<width; j++)
{
pixels[j][i] = ***run pixel operation here***
}
}
}
僅限Java 8?還是早期版本呢? – markspace 2014-12-02 18:27:31