代码拉取完成,页面将自动刷新
同步操作将从 jurafish/tianruoocr 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace TrOCR
{
public partial class FmScreenPaste : Form
{
public FmScreenPaste(Image img, Point LocationPoint)
{
m_aeroEnabled = false;
InitializeComponent();
BackgroundImage = img;
Location = LocationPoint;
FormBorderStyle = FormBorderStyle.None;
MouseDown += Form1_MouseDown;
MouseMove += Form1_MouseMove;
MouseUp += Form1_MouseUp;
var size = img.Size;
MaximumSize = (MinimumSize = size);
Size = size;
MouseDoubleClick += 双击_MouseDoubleClick;
}
private void Form_MouseWheel(object sender, MouseEventArgs e)
{
}
private void RightCMS_Opening(object sender, CancelEventArgs e)
{
var topMost = TopMost;
if (topMost)
{
置顶ToolStripMenuItem.Text = "取消置顶";
}
else
{
置顶ToolStripMenuItem.Text = "置顶窗体";
}
}
private void 置顶ToolStripMenuItem_Click(object sender, EventArgs e)
{
TopMost = !TopMost;
}
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
BackgroundImage.Dispose();
GC.Collect();
Close();
}
private void 复制toolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.SetImage(BackgroundImage);
}
private void 保存toolStripMenuItem_Click(object sender, EventArgs e)
{
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "jpg图片(*.jpg)|*.jpg|png图片(*.png)|*.jpg|bmp图片(*.bmp)|*.bmp";
saveFileDialog.AddExtension = false;
saveFileDialog.FileName = string.Concat("tianruo_", DateTime.Now.Year.ToString(), "-", DateTime.Now.Month.ToString(), "-", DateTime.Now.Day.ToString(), "-", DateTime.Now.Ticks.ToString());
saveFileDialog.Title = "保存图片";
saveFileDialog.FilterIndex = 1;
saveFileDialog.RestoreDirectory = true;
var flag = saveFileDialog.ShowDialog() == DialogResult.OK;
if (flag)
{
var extension = Path.GetExtension(saveFileDialog.FileName);
var flag2 = extension.Equals(".jpg");
if (flag2)
{
BackgroundImage.Save(saveFileDialog.FileName, ImageFormat.Jpeg);
}
var flag3 = extension.Equals(".png");
if (flag3)
{
BackgroundImage.Save(saveFileDialog.FileName, ImageFormat.Png);
}
var flag4 = extension.Equals(".bmp");
if (flag4)
{
BackgroundImage.Save(saveFileDialog.FileName, ImageFormat.Bmp);
}
}
}
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
private void Form_MouseDown(object sender, MouseEventArgs e)
{
var wMsg = 274;
var num = 61456;
var num2 = 2;
ReleaseCapture();
SendMessage(Handle, wMsg, num + num2, 0);
}
[DllImport("Gdi32.dll")]
private static extern IntPtr CreateRoundRectRgn(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidthEllipse, int nHeightEllipse);
[DllImport("dwmapi.dll")]
public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarInset);
[DllImport("dwmapi.dll")]
public static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, ref int attrValue, int attrSize);
[DllImport("dwmapi.dll")]
public static extern int DwmIsCompositionEnabled(ref int pfEnabled);
private bool CheckAeroEnabled()
{
var flag = Environment.OSVersion.Version.Major >= 6;
bool result;
if (flag)
{
var num = 0;
DwmIsCompositionEnabled(ref num);
result = (num == 1);
}
else
{
result = false;
}
return result;
}
protected override void WndProc(ref Message m)
{
var msg = m.Msg;
var flag = m.Msg == 132 && (int)m.Result == 1;
if (flag)
{
m.Result = (IntPtr)2;
}
var flag2 = msg == 133 && m_aeroEnabled;
if (flag2)
{
var num = 2;
DwmSetWindowAttribute(Handle, 2, ref num, 4);
var margins = new MARGINS
{
bottomHeight = 1,
leftWidth = 1,
rightWidth = 1,
topHeight = 1
};
DwmExtendFrameIntoClientArea(Handle, ref margins);
}
base.WndProc(ref m);
}
protected override CreateParams CreateParams
{
get
{
m_aeroEnabled = CheckAeroEnabled();
var createParams = base.CreateParams;
var flag = !m_aeroEnabled;
if (flag)
{
createParams.ClassStyle |= 131072;
}
return createParams;
}
}
private void 双击_MouseDoubleClick(object sender, MouseEventArgs e)
{
BackgroundImage.Dispose();
GC.Collect();
Close();
}
public void AdjustSize()
{
var size = new Size(10, 25);
MaximumSize = (MinimumSize = size);
Size = size;
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
var flag = e.Button == MouseButtons.Left;
if (flag)
{
mouseOff = new Point(-e.X, -e.Y);
leftFlag = true;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
var flag = leftFlag;
if (flag)
{
var mousePosition = MousePosition;
mousePosition.Offset(mouseOff.X, mouseOff.Y);
Location = mousePosition;
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
var flag = leftFlag;
if (flag)
{
leftFlag = false;
}
}
protected override void OnPaint(PaintEventArgs e)
{
DoubleBuffered = true;
var flag = BackgroundImage != null;
if (flag)
{
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
e.Graphics.DrawImage(BackgroundImage, new Rectangle(0, 0, Width, Height), 0, 0, BackgroundImage.Width, BackgroundImage.Height, GraphicsUnit.Pixel);
}
base.OnPaint(e);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
}
private int zoomLevel;
private string ScreenshotLastSavePath;
private bool m_aeroEnabled;
private const int CS_DROPSHADOW = 131072;
private const int WM_NCPAINT = 133;
private const int WM_ACTIVATEAPP = 28;
private const int WM_NCHITTEST = 132;
private const int HTCLIENT = 1;
private const int HTCAPTION = 2;
private Point mouseOff;
private bool leftFlag;
public struct MARGINS
{
public int leftWidth;
public int rightWidth;
public int topHeight;
public int bottomHeight;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。