1.**如下:
public class myview extends view
@override
protected void ondraw(canvas canvas) else
//將matix的變換放入之前的點陣圖,得到新的點陣圖,並繪製出來
bitmap bitmap2 = bitmap.createbitmap(bitmap , 0 , 0 , width , height , matrix , true);
canvas.drawbitmap(bitmap2 , 0 ,0 ,null);
}@override
public boolean onkeydown(int keycode, keyevent event)
postinvalidate();
break;
case keyevent.keycode_s:
//縮小
isscale = true;
if (scale > 0.5)
postinvalidate();
break;
}return super.onkeydown(keycode, event);}}
然後在布局中使用即可.
2.一些解釋如下:
matrix.setscale(scale , scale) : 這個比較好理解,引數為x.y的縮放比例,大於1則放大。
matrix.setskew(sx , 0) :這個分兩種情況
sx > 0 時:
sx < 0 時 :
可以看到y座標的傾斜距離一直為0,所以所有點的y座標並沒有變化,只有x座標變化了,才有了傾斜的效果.
簡單實現svg的拖拽和縮放
此方法限制太多,可能 svg使用d3繪製,並且抽象出svg中所有元素的乙個參照點和縮放比例 svg元素不會太多,否則會造成卡頓。最近有個專案需要我幫一下前端,主要是使用d3繪製svg放在頁面,其中有乙個功能就是對繪製的svg進行拖動和縮放,有點像地圖。這裡我已經寫好了乙個方法來繪製svg funct...
Metasploit簡單使用 安裝和簡單使用
以下是非kali的linux下安裝msf框架 adduser msf 新增msf使用者 su msf 切換到msf使用者 cd opt metasploit framework bin 切換到msf所在的目錄 msfconsole 以後啟動msfconsole,都切換到msf使用者下啟動,這樣會同步...
乙個簡單的Matrix實現
我們直接來看 吧 matrix.h pragma once include using namespace std 矩陣類 class matrix 下面是實現和測試的 matrix.cpp include matrix.h include include matrix matrix void ma...