// 输出 private void toolStripButton_clip_output_Click(object sender, EventArgs e) { if (this.pictureBox_clip.Image == null) { MessageBox.Show(this, "没有可以输出的图像"); return; } using (Bitmap bitmap = new Bitmap(this.pictureBox_clip.Image)) { ImageUtil.SetImage(this.pictureBox_result, AForgeImageUtil.Clip(bitmap, this.pictureBox_clip.GetCorners())); // 2016/12/28 } this.tabControl_main.SelectedTab = this.tabPage_result; string strFileName = this.GetNewOutputFileName(); if (string.IsNullOrEmpty(strFileName) == false) { this.pictureBox_result.Image.Save(strFileName); this.SetStatusMessage("成功创建图像文件 " + strFileName); } else { this.SetStatusMessage("尚未指定输出目录"); } }
void DetectEdge() { if (this.pictureBox_clip.Image == null) { return; } double angle = 0; Rectangle rect; using (Bitmap bitmap = new Bitmap(this.pictureBox_clip.Image)) { // this.pictureBox1.Image = ImageUtil.AforgeAutoCrop(bitmap); DetectBorderParam param = new DetectBorderParam(bitmap); bool bRet = AForgeImageUtil.GetSkewParam(bitmap, param, out angle, out rect); if (bRet == false) { MessageBox.Show(this, "fail"); return; } } #if NO using (Bitmap bitmap = new Bitmap(this.pictureBox1.Image)) { this.pictureBox1.Image = ImageUtil.Apply(bitmap, angle, rect); } #endif List <Point> points = this.pictureBox_clip.ToPoints((float)angle, rect); this.pictureBox_clip.SetPoints(points); }