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();
}
}