Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

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

 

  Вопрос: BitBlt и Image Добавлено: 07.03.09 02:30  

Автор вопроса:  Aston | ICQ: 214-179-991 

Ответить

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

Номер ответа: 16
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #16
Добавлено: 11.03.09 02:02
Aston, SetStretchBltMode устанавливает метод растягивания. Мне лень было искать, но я точно помнил что 4 - это растягивание с антиальясингом) Попробуй закомментить строчку с вызовом этой функции вообще.
>везде использовал твип
API обычно работают с pixel

Ответить

Номер ответа: 17
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #17 Добавлено: 11.03.09 11:30
Мда, если не устанавливать метод растягивания то там бяки вылазят, короче без этого никак. То что Апи использует пиксел точно не знаю, у меня такое ощущение, что что то другое так как мне приходится делить на 15, чтоб у меня отразило нормально.Но вот теперь я болие или менее узнал ещё о двух АПИ :)
С пикселем - везде.
  1. Option Explicit
  2. Private Declare Function StretchBlt Lib "gdi32.dll" (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
  3. Private Declare Function SetStretchBltMode Lib "gdi32.dll" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long
  4. Private sizing As Boolean
  5.  
  6. Private Sub Form_Resize()
  7. Form1.Cls
  8. SetStretchBltMode Form1.hdc, 3
  9. StretchBlt Form1.hdc, 80 / 5, 80 / 5, (Form1.Width - 750) / 15, (Form1.Height - 1150) / 15, src.hdc, 0, 0, src.Width, src.Height, vbSrcCopy
  10. Form1.Refresh
  11. End Sub

Ответить

Номер ответа: 18
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #18
Добавлено: 11.03.09 12:38
кончно ты делишь на 15. Потому что в одном пикселе примерно 15 твипов (14 с чем-то, из-за этого могут быть глюки). А Form1.Width - всегда считается в твипах, поэтому юзай ScaleWidth, поставив Scalemode=pixels. C height аналогично.

Ответить

Номер ответа: 19
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #19 Добавлено: 11.03.09 21:10
О, буду знать ), я подумывал что считывает в твипах но не был уверен.

Ответить

Номер ответа: 20
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #20 Добавлено: 13.03.09 01:13
В VB6 горизонтальные и вертикальные твипы я делил на Screen.TwipsPerPixelX и Y соответственно.

Ответить

Номер ответа: 21
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #21 Добавлено: 13.03.09 01:14
В результате получаются пиксели.

Ответить

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

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



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