2021年11月17日 星期三

delphi DIB embarcadero delphi graphics TBitmap Vcl.Graphics.GetDIB Device Independent Bitmaps BitBlt CreateCompatibleDC SelectObject CreateCompatib GetMapMode CreateCompatibleBitmap CreateDIBSection

  BitBlt CreateCompatibleDC SelectObject CreateCompatib GetMapMode  CreateCompatibleBitmap CreateDIBSection

Drawing Transparent Bitmaps

http://delphi.cjcsoft.net//viewthread.php?tid=45232

Title: Drawing Transparent Bitmaps

Question: How to draw a transparent bitmap
 
   hdcTemp := CreateCompatibleDC(dc);
   SelectObject(hdcTemp, hBmp);   // Select the bitmap

   GetObject(hBmp, sizeof(BITMAP), @bm);
   ptSize.x := bm.bmWidth;            // Get width of bitmap
   ptSize.y := bm.bmHeight;           // Get height of bitmap
   DPtoLP(hdcTemp, ptSize, 1);        // Convert from device
                                      // to logical points

   // Create some DCs to hold temporary data.
   hdcBack   := CreateCompatibleDC(dc);
   hdcObject := CreateCompatibleDC(dc);
   hdcMem    := CreateCompatibleDC(dc);
   hdcSave   := CreateCompatibleDC(dc);

   // Create a bitmap for each DC. DCs are required for a number of
   // GDI functions.

   // Monochrome DC
   bmAndBack   := CreateBitmap(ptSize.x, ptSize.y, 1, 1, nil);

   // Monochrome DC
   bmAndObject := CreateBitmap(ptSize.x, ptSize.y, 1, 1, nil);

   bmAndMem    := CreateCompatibleBitmap(dc, ptSize.x, ptSize.y);
   bmSave      := CreateCompatibleBitmap(dc, ptSize.x, ptSize.y);

   // Each DC must select a bitmap object to store pixel data.
   bmBackOld   := SelectObject(hdcBack, bmAndBack);
   bmObjectOld := SelectObject(hdcObject, bmAndObject);
   bmMemOld    := SelectObject(hdcMem, bmAndMem);
   bmSaveOld   := SelectObject(hdcSave, bmSave);

   // Set proper mapping mode.
   SetMapMode(hdcTemp, GetMapMode(dc));

https://programmerall.com/article/6686314819/

    Add('SRCCOPY    ');
    Add('SRCPAINT   ');
    Add('SRCAND     ');
    Add('SRCINVERT  ');
    Add('SRCERASE   ');
    Add('NOTSRCCOPY ');
    Add('NOTSRCERASE');
    Add('MERGECOPY  ');
    Add('MERGEPAINT ');
    Add('PATCOPY    ');
    Add('PATPAINT   ');
    Add('PATINVERT  ');
    Add('DSTINVERT  ');
    Add('BLACKNESS  ');
    Add('WHITENESS  ');

delphi  DIB  embarcadero delphi graphics  TBitmap Vcl.Graphics.GetDIB Device Independent Bitmaps
  https://docs.microsoft.com/zh-tw/windows/win32/gdi/capturing-an-image

http://blog.livedoor.jp/junki560/archives/21910595.html

delphi Navigation Sidebar LIST MENU

 delphi Navigation Sidebar LIST MENU

Show and Hide Transient Content in Your VCL UI Using TSplitView and C++Builder


 TSplitView TCategoryButtons TButtonCategory  TButtonItem

TCategoryPanelGroup TCategoryPanel TCategoryButtons 

TActionMainMenuBar

JVCL's TJvNavigationPane TJvOutlookBar  TJvNavigationPane
 TreeViewToMenu
TSearchBox
TSplitView
TDockTabSet
TFlowPanel
TControlList


MS Ribbon Control  ActionManager

TreeControl Virtual Treeview VirtualTrees  STYLE

https://docs.microsoft.com/en-us/windows/win32/controls/tree-view-controls

Navigator Container
http://docplayer.net/77223250-Windows-controls-last-part.html


MVVM Delphi Architecting Building Model

 MVVM Delphi Architecting Building Model LiveData ViewModel

https://blog.grijjy.com/2018/01/22/mvvm-starter-kit-part-1-of-3/

MVVM Starter Kit (Part 1 of 3)

https://github.com/grijjy/GrijjyFoundation
https://github.com/grijjy/MvvmStarterKit
https://www.youtube.com/watch?v=Ci1HP8ZBJxk&ab_channel=EmbarcaderoTechnologies
http://www.malcolmgroves.com/blog/?p=1340
https://bitbucket.org/sglienke/dsharp/src/master/


https://blog.grijjy.com/2018/01/24/mvvm-starter-kit-part-2-of-3/

TDirect2DCanvas delphi source code game

Direct3D9.pas DirectInput.pas
DirectDraw.pas
DirectSound
DirectMusic, D2D1.pas
JEDI_Code_Library

Windows Media Format 9 API (WMF9.pas) Prodigy Math Game

Wincodec.pas (podpora TWICImage a tím i třeba Tiff, CR2 a NEF grafické formáty)
    cor.pas (.NET unmanaged compiler API - cor.h)
    OpenGL.pas
    Manipulations.pas - Manipulation SDK
 
    rtti.pas - nové Run Time Type Information
    IOUtils.pas - OOP přístup k souborům
    Diagnostics.pas - TStopWatch (někdy příště)

"RAD Studio\7.0\source\Win32\vcl\":

    Direct2D.pas Direct2D API z Windows 7 (Vista), tj. TDirect2DCanvas
    Gestures.pas, GestureMgr.pas, GestureCtrls.pas - Gestures
    Keyboard.pas, KeyboardTypes.pas - Klávesnice pro touch
https://delphi.cz/2010/02/default.aspx

https://windwings.wordpress.com/2009/08/13/rad-studio-2010-review-8-and-now-some-feedback-from-us/

https://delphi.cz/post/Graphics32-GR32.aspx

WinAnimationManager: Grid Layout  

IUIAnimationManager ID2D1Bitmap IUIAnimationVariable

http://teran.karelia.pro/articles/item_4425.html

IUIAnimationManager ID2D1Bitmap IUIAnimationVariable  Win Animation Manager

https://docs.microsoft.com/en-us/windows/win32/uianimation/-main-portal

https://fireblazefmx.wordpress.com/

http://www.bilsen.com/windowsanimation/

https://castle-engine.io/wp/2019/01/02/spritesheet-gui-utility/

https://github.com/valterb/spritesheet-utility

https://www.bverhue.nl/delphisvg/author/bverhue/

https://castle-engine.io/wp/

Delphi Games with Jim McKeeth

https://youtu.be/JiHFspGIpBk