Commit 5ec7e266 by Neo Turing

增加图片旋转功能

parent 6945e4ec
using Kivii.Linq; using Kivii.Imaging.Filters;
using Kivii.Imaging;
using Kivii.Linq;
using Kivii.Math.Geometry;
using Kivii.Messaging; using Kivii.Messaging;
using Kivii.Sample.ImageUploader.Entities; using Kivii.Sample.ImageUploader.Entities;
using Kivii.Video; using Kivii.Video;
...@@ -117,6 +120,7 @@ namespace Kivii.Sample.ImageUploader ...@@ -117,6 +120,7 @@ namespace Kivii.Sample.ImageUploader
btnReportId.Enabled = !notLogin; btnReportId.Enabled = !notLogin;
btnShot.Enabled = !notLogin; btnShot.Enabled = !notLogin;
btnDelete.Enabled = !notLogin; btnDelete.Enabled = !notLogin;
btnEditor.Enabled = !notLogin;
btnLogout.Enabled = !notLogin; btnLogout.Enabled = !notLogin;
if (notLogin) if (notLogin)
...@@ -719,6 +723,33 @@ namespace Kivii.Sample.ImageUploader ...@@ -719,6 +723,33 @@ namespace Kivii.Sample.ImageUploader
picName += DateTime.Now.ToString("mmssfff"); picName += DateTime.Now.ToString("mmssfff");
var photo = new DbFile(bitmap, picName); var photo = new DbFile(bitmap, picName);
//if (chbRectify.Checked)
//{
// Bitmap temp = photo.Image.Clone() as Bitmap;
// var _counter = new BlobCounter();
// _counter.FilterBlobs = true;
// _counter.MinWidth = photo.Image.Width / 4;
// _counter.MinHeight = photo.Image.Height / 4;
// FiltersSequence seq = new FiltersSequence();
// seq.Add(Grayscale.CommonAlgorithms.BT709); //First add grayScaling filter
// seq.Add(new OtsuThreshold()); //Then add binarization(thresholding) filter
// temp = seq.Apply(temp);
// _counter.ProcessImage(temp);
// temp.Dispose();
// var blobs = _counter.GetObjectsInformation();
// if (blobs != null && blobs.Length > 0)
// {
// var corners = PointsCloud.FindQuadrilateralCorners(_counter.GetBlobsEdgePoints(blobs[0]));
// var rect = blobs[0].Rectangle;
// QuadrilateralTransformation quadTransformer = new QuadrilateralTransformation();
// quadTransformer.SourceQuadrilateral = corners; //Set corners for transforming card
// quadTransformer.AutomaticSizeCalculaton = true;
// photo.Image = quadTransformer.Apply(photo.Image);
// //ResizeBilinear resizer = new ResizeBilinear(rect.Width, rect.Height);
// }
//}
addSnapshot(photo); addSnapshot(photo);
Thread.Sleep(50); Thread.Sleep(50);
showSnapshot(photo); showSnapshot(photo);
...@@ -734,7 +765,24 @@ namespace Kivii.Sample.ImageUploader ...@@ -734,7 +765,24 @@ namespace Kivii.Sample.ImageUploader
MessageBox.Show("没有找到视频采集设备"); MessageBox.Show("没有找到视频采集设备");
} }
} }
private void btnCamearTurn_Click(object sender, EventArgs e)
{
if (currentPhoto == null) return;
if (currentPhoto.Image == null) return;
int index = 0;
var photo = photos.FirstOrDefault(o => o.Image == currentPhoto.Image);
if (photo != null)
{
index = photos.IndexOf(photo);
if (index <= -1) index = 0;
deleteSnapshot(photo);
}
currentPhoto.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
var editedPhoto = new DbFile(currentPhoto.Image, currentPhoto.Name);
addSnapshot(editedPhoto, index);
showSnapshot(editedPhoto);
}
private void PictureBox_Click(object sender, EventArgs e) private void PictureBox_Click(object sender, EventArgs e)
{ {
// 获取点击的 PictureBox 中的图片 // 获取点击的 PictureBox 中的图片
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment