經(jīng)常會(huì)遇到的一個(gè)問(wèn)題,攝像頭顯示出來(lái)的圖像是鏡像,與我們真實(shí)情況正好相反,
那么下面的代碼可以幫你快速實(shí)現(xiàn)旋轉(zhuǎn)。
// 指定圖像的旋轉(zhuǎn)程度和用于翻轉(zhuǎn)圖像的軸。
public void videoSourcePlayer_NewFrame(object sender, ref Bitmap image)
{
if (image != null)
{
RotateFlipType pType = RotateFlipType.RotateNoneFlipNone;
if (dAngle == 0)
{
pType = RotateFlipType.RotateNoneFlipNone;
}
else if (dAngle == 90)
{
pType = RotateFlipType.Rotate90FlipNone;
}
else if (dAngle == 180)
{
pType = RotateFlipType.Rotate180FlipNone;
}
else if (dAngle == 270)
{
pType = RotateFlipType.Rotate270FlipNone;
}
// 實(shí)時(shí)按角度繪制
image.RotateFlip(pType);
}
}
/// <summary>
/// 旋轉(zhuǎn)函數(shù),外部調(diào)用觸發(fā)
/// </summary>
public void Rotate()
{
// 計(jì)算角度,類變量
dAngle = dAngle + 90;
dAngle = dAngle % 360;
// 事件綁定,實(shí)時(shí)繪制,達(dá)到效果,本來(lái)就是實(shí)時(shí)繪制的原理
videoSourcePlayer.NewFrame -= new VideoSourcePlayer.NewFrameHandler(videoSourcePlayer_NewFrame);
videoSourcePlayer.NewFrame += new VideoSourcePlayer.NewFrameHandler(videoSourcePlayer_NewFrame);
}
是不是非常方便且快速呢,歡迎來(lái)交流討論。