Matrix的傾斜和縮放簡單使用

2021-08-19 04:33:02 字數 1007 閱讀 9851

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...