Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: The PaintPicture 2 Добавлено: 27.08.06 13:58  

Автор вопроса:  VβÐUηìt | Web-сайт: смекаешь.рф
Народ, знает кто нибудь, есть ли какая-нибудь апишная PaintPicture, которая картинку растягивает по четырем точкам, как бы искажает её (ну как в фотошопе). Если знает кто, подскажите пжлст.

Зарнее спасибо

Ответить

  Ответы Всего ответов: 29  

Номер ответа: 1
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #1
Добавлено: 27.08.06 15:38
Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 27.08.06 16:18
А как, блин, пользоватся, подскажи пжлст, а то много параметров...

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 27.08.06 17:46
Может тебе все программу написать и денег еще дать?

Все параметры кроме одного тут должны быть интуитивно понятны прогарммисту уровня выше Hello World, единственный непонятный смотрится в MSDN и тоже становится понятным!!!

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 27.08.06 17:55
http://www.yandex.ru/yandsearch?text=VB+StretchBlt&stype=www

Ответить

Номер ответа: 5
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #5
Добавлено: 27.08.06 18:32
А как, блин, пользоватся, подскажи пжлст, а то много параметров...

Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Const BLACKNESS = &H42 ' (DWORD) dest = BLACK
Private Const DSTINVERT = &H550009       ' (DWORD) dest = (NOT dest)
Private Const MERGECOPY = &HC000CA       ' (DWORD) dest = (source AND pattern)
Private Const MERGEPAINT = &HBB0226      ' (DWORD) dest = (NOT source) OR dest
Private Const NOTSRCCOPY = &H330008      ' (DWORD) dest = (NOT source)
Private Const NOTSRCERASE = &H1100A6     ' (DWORD) dest = (NOT src) AND (NOT dest)
Private Const PATCOPY = &HF00021 ' (DWORD) dest = pattern
Private Const PATINVERT = &H5A0049       ' (DWORD) dest = pattern XOR dest
Private Const PATPAINT = &HFB0A09        ' (DWORD) dest = DPSnoo
Private Const SRCAND = &H8800C6  ' (DWORD) dest = source AND dest
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Const SRCERASE = &H440328        ' (DWORD) dest = source AND (NOT dest )
Private Const SRCINVERT = &H660046       ' (DWORD) dest = source XOR dest
Private Const SRCPAINT = &HEE0086        ' (DWORD) dest = source OR dest
Private Const WHITENESS = &HFF0062       ' (DWORD) dest = WHITE

Private Sub Command1_Click()
    StretchBlt Picture2.hdc, 0, 0, Picture2.Width, Picture2.Height, Picture1.hdc, 0, 0, Picture1.Width, Picture1.Height, SRCCOPY
End Sub

Private Sub Form_Load()
Me.ScaleMode = 3
Picture1.BorderStyle = 0
Picture2.BorderStyle = 0
Picture1.AutoSize = True
Picture1.Picture = LoadPicture("c:\porno.jpg";)
End Sub

P.S.:
...Если всё делать своими ручками - они скоро отвалятся...
:)))

Ответить

Номер ответа: 6
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #6
Добавлено: 27.08.06 19:09
;) Я просто думал, что там 4 переменные As Coordinates...

Ответить

Номер ответа: 7
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #7
Добавлено: 27.08.06 19:13
Вместо API-функции StretchBlt можно использовать встроенную в VB функцию – PaintPicture, которая не просто повторяет ее, но и целиком и полностью на нее опирается.


Я имел в виду вписать картинку в произвольный четырех угольник...

p.s. Если я очень сильно достал, плохие слова не говорите пжлст ;)

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 27.08.06 20:34
такой нет, искать/писать алгоритм прийдется самому.

Ответить

Номер ответа: 9
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #9 Добавлено: 27.08.06 21:07
До паралеллограма все-таки растянуть можно, по крайней мере в GDI+ такое есть.

Ответить

Номер ответа: 10
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #10
Добавлено: 28.08.06 07:17
такой нет, искать/писать алгоритм прийдется самому.
:( тормозить же будет страшно :(...

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 28.08.06 11:31
ну всмысле поискать библиотечку/компонентик ;)

Ответить

Номер ответа: 12
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #12 Добавлено: 28.08.06 23:32
Ктстаи, Image имеет свойство stretch и если его задать True, то картинка распнется по размеру Image, а потом ее Pointom можно считать в массив и куда-нибудь нарисовать... сам всегда так делал.

Ответить

Номер ответа: 13
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #13
Добавлено: 29.08.06 07:18
Nj, конешно, так можно, но если, к примеру, картинка будет 640 на 480 то это будет ТАК ТОРМОЗИТЬ, что пукнуть можно :)

Ответить

Номер ответа: 14
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #14 Добавлено: 29.08.06 17:29
Будет, если массивом, а можно и простым присвоением Picture1=Image1 и никакого тормоза серьезного... Image можно сделать невидимым...

Ответить

Номер ответа: 15
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #15
Добавлено: 30.08.06 13:30
:|
:|
:|
:|

...

:|

НАРОД! Картинку растягивать я имею в виду не так, чтобы как в ворде изменить ширину или высоту, а вписать её в произвольный четырех угольник, т. е. как бы перспективу изобразить

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам