Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сохранить содержимое окна Picture в bmp файл 
:(
    Опции темы
Alexandr8
Дата 29.12.2004, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 14.11.2004
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Как сохранить содержимое окна Picture box в bmp файл? smile
PM MAIL   Вверх
cardinal
Дата 29.12.2004, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Код

Option Explicit

Private Sub Command1_Click()
SavePicture Picture1.Picture, "e:\test.bmp"    ' Save picture to file.
End Sub



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
DenageS
Дата 17.7.2008, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 29.9.2006

Репутация: нет
Всего: нет



Я рисую линию в PictureBox методом Line.
Как мне сохранить в bmp картинку с этой линией?
Останется ли эта линия, если использовать SavePicture?
P.S. Я бы проверил, но возможности нет.
PM MAIL ICQ   Вверх
JusTalionis
Дата 18.7.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Нет.  Не останется.
В файл выводится только та картинка, которая была загружена в пикчбокс.
а Line - это метод, а не картинка...

PM MAIL   Вверх
JusTalionis
Дата 18.7.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Вот выкладываю на эту тему проект графического редактора типа Пайнта. Найдено в Сети, несколько лет назад.
Кому надо - разбирайте, как там сделан вывод линий в файл.


Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  graphedit.zip 7,83 Kb
PM MAIL   Вверх
ВикторZX
Дата 20.7.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



Цитата(JusTalionis @ 18.7.2008,  10:31)
Нет.  Не останется.
В файл выводится только та картинка, которая была загружена в пикчбокс.
а Line - это метод, а не картинка...

двойка тебе

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  saveLine.rar 1,23 Kb
PM MAIL   Вверх
neic
Дата 14.1.2009, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Вопрос такой.

Допустим у нас есть Picture1 в нём картинка, на Picture1 есть метка Label1.

Как сохранить всё содержимое Picture1?

P.s. сохраните на файлообменике, а то тут у меня не качает.
PM MAIL WWW ICQ Skype   Вверх
I_Am_Rock
Дата 14.1.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(neic @  14.1.2009,  00:59 Найти цитируемый пост)
Допустим у нас есть Picture1 в нём картинка, на Picture1 есть метка Label1.

Нужно сохранить картинку вместе с текстом в объекте Label1? Если Да, то так невозможно... по крайней мере стандартными средствами.
Цитата(neic @  14.1.2009,  00:59 Найти цитируемый пост)
Как сохранить всё содержимое Picture1?

Содержимое объекта Label1 не явл. содержимым объекта Picture1. 
PM MAIL WWW   Вверх
Rrader
  Дата 14.1.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 6
Всего: 191



Код

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, _
  ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
  ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  
Private Const SRCCOPY = &HCC0020

Private Sub Command1_Click()
  Form1.ScaleMode = 3
  With Picture1
    .ScaleMode = 3
    .AutoRedraw = True    
    Call BitBlt(.hDC, 0, 0, .ScaleWidth, .ScaleHeight, hDC, .Left, .Top, SRCCOPY)
    .Picture = .Image
    SavePicture .Picture, "C:\Test.bmp"
  End With
End Sub

P.S.
BorderStyle у Picture1 в Properties поставить в 0, а если рамка нужна ,то в коде надо учесть (вместо нулей -2 написать)

Это сообщение отредактировал(а) Rrader - 14.1.2009, 19:15


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
neic
Дата 15.1.2009, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Rrader
спасибо!
PM MAIL WWW ICQ Skype   Вверх
neic
Дата 15.1.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Возникло 2 проблемы:
1) Picture1 не очищаяется после команды CLS
2) Возникает ситуация, что после выполнения приведённого кода фоткается часть экрана ЗА формой.

Как исправить не знаю, всё перепробывал.

Код

...'приходит команда от клиента
...'действия над пришедшими данными

Select Case komand
    Case "!baner_reg"        
        Me.ScaleMode = 3
        With Picture4
          .ScaleMode = 3
          .AutoRedraw = True
          Call BitBlt(.hDC, 0, 0, .ScaleWidth, .ScaleHeight, hDC, .Left, .Top, SRCCOPY)
          .Picture = .Image
          SavePicture .Picture, "C:\Test.bmp"
        End With
        
        Picture5.Picture = LoadPicture("C:\Test.bmp")

        GoTo exit_sub
End Select
...


Вот ссылка на архив со скринами: http://slil.ru/26544515

33 - как должно быть
34 - что получается после выполнения кода
35 - как сохранилась картинка

Очень нужно это сделать. Помогите.

Это сообщение отредактировал(а) neic - 15.1.2009, 16:05
PM MAIL WWW ICQ Skype   Вверх
Rrader
  Дата 16.1.2009, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 6
Всего: 191



neic, в это время форма видна на экране?


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
neic
Дата 16.1.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: нет
Всего: 7



Rrader, да. Я пробывал и при инициализации, и при активизации, и при загрузке, и после загрузки. Всегда когда есть что-то под формой или над формой, картинка наклflывается друг на друга причём фотка PIcture1 ложиться в самый низ. Т.е. сначала накладывается слой тот что над формой, потом накладывается слой тот что под формой и только самый нижний слой накладывается PIcture1. 
PM MAIL WWW ICQ Skype   Вверх
Rrader
  Дата 17.1.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 6
Всего: 191



neic, тестовый преокт сможешь сделать?


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.