Как положить картинку в буфер обмена

  • Автор темы Автор темы Aleksandr
  • Дата начала Дата начала

Aleksandr

Client
Регистрация
04.01.2014
Сообщения
206
Реакции
113
Баллы
43
Привет, помогите плиз. Не получается положить картинку в буфер обмена.
Делал вот так:
Код:
Развернуть Свернуть Копировать
System.Windows.Clipboard.SetImage(@"D:\Снимок0.jpg");
ошибки
Код:
Развернуть Свернуть Копировать
"The best overloaded method match for 'System.Windows.Clipboard.SetImage(System.Windows.Media.Imaging.BitmapSource)' has some invalid arguments". [Строка: 1; Cтолбец: 1]
и
Код:
Развернуть Свернуть Копировать
"Argument 1: cannot convert from 'string' to 'System.Windows.Media.Imaging.BitmapSource'". [Строка: 1; Cтолбец: 35]
 
Как-нибудь так
Код:
Развернуть Свернуть Копировать
Bitmap img = new Bitmap(@"D:\Снимок0.jpg");
//Или так
//Bitmap img = (Bitmap) Image.FromFile(@"D:\Снимок0.jpg", true);

System.Windows.Clipboard.SetImage(img);
 
  • Оценить
Реакции: Aleksandr
Если использую вариант
Код:
Развернуть Свернуть Копировать
Bitmap img = new Bitmap(@"D:\Снимок0.jpg");
System.Windows.Clipboard.SetImage(img);
то
Код:
Развернуть Свернуть Копировать
"The best overloaded method match for 'System.Windows.Clipboard.SetImage(System.Windows.Media.Imaging.BitmapSource)' has some invalid arguments". [Строка: 5; Cтолбец: 1]
и
Код:
Развернуть Свернуть Копировать
"The type 'System.Windows.Freezable' is defined in an assembly that is not referenced. You must add a reference to assembly 'WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.". [Строка: 5; Cтолбец: 1]

При варианте
Код:
Развернуть Свернуть Копировать
Bitmap img = (Bitmap) Image.FromFile(@"D:\Снимок0.jpg", true);
System.Windows.Clipboard.SetImage(img);

Код:
Развернуть Свернуть Копировать
The type 'System.Windows.Freezable' is defined in an assembly that is not referenced. You must add a reference to assembly 'WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.". [Строка: 4; Cтолбец: 1]
и
Код:
Развернуть Свернуть Копировать
"Argument 1: cannot convert from 'System.Drawing.Bitmap' to 'System.Windows.Media.Imaging.BitmapSource'". [Строка: 4; Cтолбец: 35]

Вот сборки которые использую
upload_2014-12-15_12-33-50.png
 
Получилось решить задачу?

У меня вот такая ошибка:
Компиляция кода Ошибка в действии "CS0234" "The type or namespace name 'Clipboard' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?)". [Строка: 1; Cтолбец: 16]

Хотя библиотеки все на месте вроде:
 
Мне подсказали вот это решение, которое работает:

Код:
Развернуть Свернуть Копировать
Image img = Image.FromFile(@"C:\Documents and Settings\Administrator\Desktop\yandex\pic\A168E4K.jpg");
lock (SyncObjects.InputSyncer) {
    System.Windows.Forms.Clipboard.SetImage(img);
    instance.ActiveTab.KeyEvent("v", "press", "ctrl");
}
img.Dispose();

Может кому пригодится...
 
Мне подсказали вот это решение, которое работает:

Код:
Развернуть Свернуть Копировать
Image img = Image.FromFile(@"C:\Documents and Settings\Administrator\Desktop\yandex\pic\A168E4K.jpg");
lock (SyncObjects.InputSyncer) {
    System.Windows.Forms.Clipboard.SetImage(img);
    instance.ActiveTab.KeyEvent("v", "press", "ctrl");
}
img.Dispose();

Может кому пригодится...

Спасибо!!!
Очень помогло. я использовал
Код:
Развернуть Свернуть Копировать
System.Windows.Forms.Clipboard.SetImage(Image.FromFile(project.Directory + @"\newImage.jpg"));
instance.ActiveTab.KeyEvent("v","press","ctrl");
И топом он не давал удалить данную картинку, а как буфер освободить потом я хз.
С твои кодом все работает !!!!!
 
  • Оценить
Реакции: djaga

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)