1
嘿,我在製作的應用程序中遇到了這個問題。我需要創建一個預先翻譯的位圖,這意味着從舊的位圖創建一個新的位圖,其中像素按指定的量移動。我認爲我可以通過設置後置或預翻譯的矩陣來實現這一點,但是這些都不會移動像素或做任何可見的事情。用矩陣轉換位圖
諸如旋轉或縮放之類的函數可以在位圖上工作並執行所期望的操作。翻譯也適用於畫布,但它不會移動我想要的位圖像素。它甚至有可能做到這一點?
我做錯了爲什麼翻譯功能不能在位圖上工作?
這是一段代碼,顯示我在做什麼。
private void move(float dx, float dy) {
moveX = (float) (dx*complexScale);
moveY = (float) (dy*complexScale);
//canvasMatrix.setTranslate(dx,dy);
if(!render.isAlive()) {
focusX = focusX0 - dx*complexScale;
focusY = focusY0 - dy*complexScale;
bitmapMatrix.setTranslate(dx, dy);
needRefresh = true;
}
}
private void generate() {
if (!render.isAlive()) {
render = new Thread(generator);
fractal = Bitmap.createBitmap(fractal,0,0,mapWidth,mapHeight,bitmapMatrix,true);
setComplexAxis();
render.start();
}
}