C#で画像を切り抜きたい。ほとんどの写真編集ソフトウェアと同じように、サイズ変更やマウスでの再配置が可能な長方形のボックスを使用したいと思っています。さらに、私はthis photoに示すように、トリミングされた領域を強調表示する方法を知りたいと思います。矩形を使って画像を切り抜く
1
A
答えて
0
選択ボックスの外側には、約30%のアルファで黒いイメージが表示されているようです。これを行うには、各ピクセルをコンテンツ領域の外側に置き、その上に30%のアルファを含む黒のピクセルを描画します。これにより、所望の調光効果が得られる。
C#で矩形を動的に捕捉する方法については、
+0
Nick Beradiさん、ありがとうございました。問題は、私が1つ1つのピクセルを1つずつ処理すると、時間がかかることです。カラーマトリックスのような速い方法がありますか? – qulzam
0
0
画像リンクはもう利用できません。
したがって、パネルでは画像を切り抜く画像があると仮定します。
まずあなたがマウス操作を使用して、トリミングしたい矩形領域を描くことができるようにするためにイベントハンドラを作成する必要があります。今すぐ
private void picBox_MouseDown(object sender, MouseEventArgs e)
{
Cursor = Cursors.Default;
if (Makeselection)
{
try
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
Cursor = Cursors.Cross;
cropX = e.X;
cropY = e.Y;
cropPen = new Pen(Color.Crimson, 1);
cropPen.DashStyle = DashStyle.Solid;
}
picBox.Refresh();
}
catch (Exception ex)
{
}
}
}
private void picBox_MouseUp(object sender, MouseEventArgs e)
{
if (Makeselection)
{
Cursor = Cursors.Default;
}
}
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
Cursor = Cursors.Default;
if (Makeselection)
{
picBox.Cursor = Cursors.Cross;
try
{
if (picBox.Image == null)
return;
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
picBox.Refresh();
cropWidth = e.X - cropX;
cropHeight = e.Y - cropY;
picBox.CreateGraphics().DrawRectangle(cropPen, cropX, cropY, cropWidth, cropHeight);
}
}
catch (Exception ex)
{
}
}
}
private void picBox_MouseLeave(object sender, EventArgs e)
{
tabControl.Focus();
}
private void picBox_MouseEnter(object sender, EventArgs e)
{
picBox.Focus();
}
を、画像をトリミングするためのボタンのクリック機能が来る:
private void btnCrop_Click_1(object sender, EventArgs e)
{
Cursor = Cursors.Default;
try
{
if (cropWidth < 1)
{
return;
}
Rectangle rect = new Rectangle(cropX, cropY, cropWidth, cropHeight);
//First we define a rectangle with the help of already calculated points
Bitmap OriginalImage = new Bitmap(picBoxScreenshot.Image, picBoxScreenshot.Width, picBoxScreenshot.Height);
//Original image
Bitmap _img = new Bitmap(cropWidth, cropHeight);
// for cropinfo image
Graphics g = Graphics.FromImage(_img);
// create graphics
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//set image attributes
g.DrawImage(OriginalImage, 0, 0, rect, GraphicsUnit.Pixel);
picBox.Image = _img;
picBox.Width = _img.Width;
picBox.Height = _img.Height;
PictureBoxLocation();
cropWidth = 0;
}
catch (Exception ex){}
}
private void PictureBoxLocation()
{
int _x = 0;
int _y = 0;
if (panel1.Width > picBox.Width)
{
_x = (panel1.Width - picBox.Width)/2;
}
if (panel1.Height > picBox.Height)
{
_y = (panel1.Height - picBox.Height)/2;
}
picBox.Location = new Point(_x, _y);
picBox.Refresh();
}
関連する問題
- 1. 画像から矩形領域を切り抜く画像を使用して
- 2. OpenCVを使用して最大の矩形を切り抜く
- 3. matplotlibで変形された画像を切り抜く
- 4. カメラ2から長方形を切り抜く画像
- 5. 画像を四角形に切り抜く方法
- 6. ASP.NET C#:画像を切り抜く
- 7. C#で画像を切り抜く
- 8. プログラムで画像を切り抜く
- 9. Cで画像を切り抜く#
- 10. Javascriptで画像を切り抜く
- 11. CGImageRefで画像を切り抜く
- 12. 画像をCSSで切り抜く
- 13. 画像を手動で切り抜く
- 14. OpenCV C++で画像を切り抜く
- 15. PHP - 画像を切り抜くには?
- 16. イメージを小さな矩形にプログラムで切り抜く
- 17. cssを使用して画像を切り抜く
- 18. ImageMagickを使用して画像からテキストフィールドを切り抜く
- 19. 「ピンチとズーム」を使用して画像を切り抜く
- 20. opencvを使用してエッジに沿って画像を切り抜く
- 21. 画像を切り抜く/切り抜くことができません
- 22. 画像をキャプチャして切り抜き画像を切り抜いて保存画像
- 23. 中央の画像と切り抜く
- 24. jpeg画像からポリゴン画像を切り抜くJava
- 25. サーバにアップロードするときにphpを使って正方形に画像を切り抜く
- 26. エリアを選択してiPhoneで画像を切り抜く
- 27. Androidで画像ファイルのパスを渡して画像を切り抜く
- 28. アンドロイドの四角形をベースに画像を切り抜くには?
- 29. Python PILフォルダ内のすべての画像を切り抜く
- 30. GDライブラリでサイズ変更して画像を切り抜く
ここで何をお探しですか?より大きな画像から部品を切り取る実際の方法は?リンクした写真のような切り抜き選択を表示する方法はありますか? – peSHIr
私はすでに作物について考えています。私は、写真のように切り抜きの選択を表示する方法について手伝っていきたいです。私も切り抜きの選択を移動します。 – qulzam