Модератор: Brickgroup



AWPStar писал(а):4ю версию планируешь в обозримом будущем?






    int GetDIBits(
      HDC hdc,           // дескриптор DC
      HBITMAP hbmp,      // дескриптор рисунка
      UINT uStartScan,   // первая устанавливаемая строка развертки
      UINT cScanLines,   // число копируемых строк развертки
      LPVOID lpvBits,    // массив для битов рисунка
      LPBITMAPINFO lpbi, // буфер данных рисунка
      UINT uUsage        // индексы RGB или палитры
    );
Don Leno писал(а):Она извлекает данные из рисунка в массив, но извлекает из дескриптора рисунка или из дескриптора контекста?? И что для чего нужно?? Как вообще она работает??? Ах, чуть не забыл, как из контекста вытащить в рисунок IPicture?


                ' // Create the bitmap with the contents of window
                tmpDC = CreateCompatibleDC(Me.hdc)
                oldBmp = SelectObject(tmpDC, bmpShadow)
                PrintWindow hWnd, tmpDC, 0
                SelectObject tmpDC, oldBmp
                DeleteDC tmpDC
                ' // Move data from the bitmap to the texture 
                texture.LockRect 0, rect, ByVal 0&, 0
                           
                lpDat = lpBmpData

Public Sub LoadFromDC(ByVal hDC As Long)
Dim cDc As Long, cBmp As Long, nBmp As Long
    cDc = CreateCompatibleDC(frmMain.hDC)
    cBmp = CreateCompatibleBitmap(frmMain.hDC, meWidth, meHeight)
    nBmp = SelectObject(cDc, cBmp)
    BitBlt cDc, 0, 0, meWidth, meHeight, hDC, 0, 0, vbSrcCopy
    GetDIBits cDc, cBmp, 0, meHeight, cBuf(0), bi32BitInfo, 0
    SelectObject tDc, nBmp
    DeleteDC tDc
    DeleteObject cBmp
End Sub

Don Leno писал(а):просьба пните в верном направлении
PrintWindow Text1.hWnd, Pic1.hDC

 
  Я все таки дописал эту сабу, так пока наброском и осталась, но результат явно виден))) (см исходник)
 Я все таки дописал эту сабу, так пока наброском и осталась, но результат явно виден))) (см исходник) Копия Clean.rar
 Копия Clean.rar

Don Leno писал(а):за оптимизацию сабы LoadFromDC не пинайте - это пока набросок кода




Don Leno писал(а):А по самой сабе добавить/изменить ничего не подскажешь? Может оптимизировать как-нить?
Public Sub LoadFromWindow(ByVal hWnd As Long)
  Dim cDC As Long, hDC As Long, Bmp As Long
  Dim R As RECTL
  hDC = GetDC(hWnd)
  GetWindowRect hWnd, R
  Init R.Right - R.Left, R.Bottom - R.Top
  cDC = CreateCompatibleDC(hDC)
  Bmp = CreateCompatibleBitmap(hDC, meWidth, meHeight)
  SelectObject cDC, Bmp
  BitBlt cDC, 0, 0, meWidth, meHeight, hDC, 0, 0, vbSrcCopy
  GetDIBits cDC, Bmp, 0, meHeight, cBuf(0), bi32BitInfo, 0
  DeleteObject Bmp
  DeleteDC cDC
End Sub






Don Leno писал(а):как сделать альфа каналом все цвета кроме одного?
 Test.zip
 Test.zip





Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2