Страница: 1 |
Страница: 1 |
Вопрос: Сохранение из PictureBox
Добавлено: 11.08.07 06:31
Автор вопроса: Игорь | ICQ: 457394129
http://slil.ru/24710674
Я уже выкладывал данный пример но по другому поводу. В данном примере сохранение происходит путём, что то вроде скрина видимой части PictureBox3, подскажите, как я могу без лишних косяков целиком сохранить в этом примере картинку, если например PictureBox3 выступает за грань формы?
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #1
Добавлено: 11.08.07 15:29
Номер ответа: 2
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #2
Добавлено: 11.08.07 15:34
Неа, не работает! Изображение получается пустым!
Номер ответа: 3
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #3
Добавлено: 11.08.07 15:39
Я знаю, для этого нужно включить автоматическую перерисовку
Номер ответа: 4
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #4
Добавлено: 11.08.07 15:40
AutoRedraw?
Номер ответа: 5
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #5
Добавлено: 11.08.07 15:51
да
Номер ответа: 6
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #6
Добавлено: 11.08.07 15:56
И еще, когда переносишь одно изображение на другое - обнови содержимое картинки:
Dim i As Integer
Dim r As RECT, rc As RECT
Dim lX As Long, lY As Long
Dim lH As Long, lW As Long
'определяем подожение основного объекта
GetWindowRect Picture1.hWnd, rc
For i = 0 To Picture2.Count - 1
'... подчиненного объекта
GetWindowRect Picture2(i).hWnd, r
'определяем относительные координаты подчиненного объекта
lX = r.Left - rc.Left
lY = r.Top - rc.Top
lH = r.Bottom - r.Top
lW = r.Right - r.Left
'переносим изображение с объекта на объект
StretchBlt Picture3.hDC, lX, lY, lW, lH, _
Picture2(i).hDC, 0, 0, lW, lH, ScrCopy
Next i
Picture3.Refresh
End Sub
Номер ответа: 7
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #7
Добавлено: 11.08.07 16:11
ГИГАНТСКОЕ Спасибо!!!
Номер ответа: 8
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #8
Добавлено: 11.08.07 16:37
У меня тут возник нюанс, сохраняестя только видимая часть PictureBox3, а если я задвину элемент за край формы то он не сохранится!
Номер ответа: 9
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #9
Добавлено: 11.08.07 18:46
Это не зависит от того, задвинут ли элемент за границы формы или нет.
значит ты что-то не так сделал, у меня все сохраняется.
Номер ответа: 10
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #10
Добавлено: 11.08.07 18:49
У меня в программе боксы очень больших размеров (примерно 1400*1000 пикселей), может косяк из за того что бокс аж за экран вылезает?
Номер ответа: 11
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #11
Добавлено: 11.08.07 21:34
залей свой проект еще раз, я его гляну
Номер ответа: 12
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #12
Добавлено: 12.08.07 06:48
Мой проект лежит в теме "Открыто Бето-Тестирование Visual Studio Plan", можешь качнуть прогу и посмотреть в чём загагулина. Эта функция там пременина в Файл-Импорт\Печать, файл сохраняется радом с прогой в sPic.
Номер ответа: 13
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #13
Добавлено: 29.08.07 21:07
ты хочеш содержимое формы распечатать? Тогда используй
Me.PrintForm
Image.PrintForm
Номер ответа: 14
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #14
Добавлено: 30.08.07 14:24
Мне нужно сохранить изображение PictureBox со всем его содержимым, но при условии если бокс скрыт частью за краем чего нибудь (в нашем случае формы), то сохранять скрытое место в изображение не тем что видно, а тем что реально находится в боксе.