Я в процессе создания ножницы. У меня есть так, что мою программу можно использовать для рисования прямоугольника с помощью мыши и сохранения этого изображения. Теперь то, что я пытаюсь сделать, это передать сгенерированное изображение в окно изображения, которое показывает пользователю то, что он только что захватил, прежде чем он решит сохранить его или что-то еще.
Есть ли способ, которым я могу это сделать?
Пока мой код захвата экрана сохраняет захваченное изображение в буфер обмена со следующим кодом, найденным в моем классе ScreenCapture:
public static bool saveToClipboard = true;
public static void CaptureImage(bool showCursor, Size curSize, Point curPos, Point SourcePoint, Point DestinationPoint, Rectangle SelectionRectangle, string FilePath, string extension)
{
using (Bitmap bitmap = new Bitmap(SelectionRectangle.Width, SelectionRectangle.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(SourcePoint, DestinationPoint, SelectionRectangle.Size);
if (showCursor)
{
Rectangle cursorBounds = new Rectangle(curPos, curSize);
Cursors.Default.Draw(g, cursorBounds);
}
}
if (saveToClipboard)
{
Image img = (Image)bitmap;
Clipboard.SetImage(img);
}
}
}
Кто-нибудь когда-нибудь делал что-то подобное раньше? Кроме того, возможно ли автоматическое изменение размера окна изображения, чтобы использовался размер экрана, а не поля изображения?
обновить
В дополнение к некоторым комментариям ниже я пытался сохранить изображение, которое я храню в своем классе выше, и передать его в окно изображения. Но ничего не отображается, когда я это делаю. Код, который я использовал, выглядит следующим образом:
Проводится на форме1.cs:
public void SetImage(Image img)
{
imagePreview.Image = img;
}
И в классе захвата экрана:
if (saveToClipboard)
{
Image img = (Image)bitmap;
ControlPanel cp = new ControlPanel();
cp.SetImage(img);
Clipboard.SetImage(img);
}
Image
, вы не можете просто использоватьpictureBox.Image = img;
? - person Jonesopolis   schedule 21.08.2013g.CopyFromScreen()
и снова показать его после? - person Christoph Fink   schedule 21.08.2013saveToClipboard
логическое значение? Если это ложно, то зачем вам нужно захватывать изображение? Если это всегда верно, то вам вообще не нужно логическое значение здесь! - person Sriram Sakthivel   schedule 21.08.2013