archive-com.com » COM » E » EFG2.COM

Total: 878

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • efg's Reference Library: Delphi Graphics -- VCL & RTL
    a TRGBQuad See Color Section of Delphi Graphics Algorithms page For general color information see the non Delphi Color Reference Library TColorDialog Borland examples Delphi n Demos Doc GraphEx dpr Delphi4 Demos CustomDraw DPR Delphi n HELP Examples Menu MenuDemo PAS TComboBox Adding graphics in your Listboxes and Comboboxes TI 725D How to check a ComboBox without OnClick occurring TI 1237D efg s example of Geometric Pen in user defined TComboBoxes showing various line widths and styles TControl GetPalette The GetPalette for a TControl returns a null handle indicating the control does not have a palette Override GetPalette to implement derived objects that use a palette True Transparent Images With Masking by Robert Vivrette www undu com DN970101 00000022 htm Perform efg s example of TControl to TBitmap Bill Zissimopoulos UseNet Post about how copy the area behind a component TCoolBar general The CoolBar Component from Chapter 13 Teach Yourself Borland Delphi 4 in 21 Days www cesis lv learn delphi ch13 htm Heading3 Are You Cool http delphi about com compute delphi library weekly aa062000a htm StatusBars and ToolBars www kovcomp com D3UID sampchap chap4 html TCursor Changing Cursor Method 1 Method 2 VAR OldCursor TCursor BEGIN OldCursor Screen Cursor Screen Cursor crHourglass TRY lengthy operation here FINALLY Screen Cursor OldCursor END END or Screen Cursor crHourglass TRY lengthy operation here FINALLY Screen Cursor crDefault END How to create a custom cursor How to set reset the Screen Cursor How to Create BMP files for Standard Cursors also includes list of Standard Cursor definitions see Cursors on efg s Delphi Graphics Algorithm page CopyCursor FAQ 1067D How to use a custom cursor TI 956D Linking an animated cursor to a resource file FAQ 2841D Loading a Custom Cursor from a RES file TI 1075D Loading Bitmaps and Cursors from RES Files TI 1081D Using an animated cursor FAQ 580D Eddie Shipman s UseNet Post about making a rainbow background on a form see procedures CursorOff and CursorOn Chris Hill s UseNet Post How to Create a Cursor from a Bitmap Thomas UseNet Post about how to extract the cursor image from a cursor file for drawing on a bitmap See Screen Cursor and Screen Cursors below Creating and using a special cursor pp 525 531 Delphi Programming Problem Solver Neil Rubenking Also see file type CUR on efg s Graphics File Formats and Conversions page or Cursors on efg s Graphics Algorithms page TDBGrid DBGrid Images etc Taskbar Tips and Environment Variables www delphizine com features 2001 01 di200101bs f di200101bs f asp TDBImage Steve Koterski s UseNet Post with TDBImage explanation and how to handle JPEG DBTransparentImage is a descendant of TDBImage which though not itself transparent it has a background colour can draw blobs transparently on it http delphi icm edu pl ftp d20free dbtimage zip by Deborah Pate TDrawGrid Avoiding flicker on drawcell FAQ 1770D TEdit Drawing on a TEdit Component by Angus Johnson www undu com Articles 980318a htm How to Right Justify Text in a TEdit www undu com Articles 000207c html Dr Bob s Tip Right Aligned T42Edit Right justification for numbers Usenet post Only numerical input in a TEdit www festra com eng sources htm onlynum Changing the Caret of a TEdit www delphizine com features 2001 02 di200102bs f di200102bs f asp Prevent the TEdit Component from beeping when invalid FAQ 759D Validating input in TEdit components TI 1171D TFileStream Save and load metafiles in a BLOB field without using DBImage FAQ 878D Also see File Stream I O page TFont general info Use bsClear Brush when writing text with a transparent background Delphi 3 or 4 Demos Ownerlst FontDraw DPR Assuring Proper Font Scaling When Printing TI 1547D Control Font Styles TI 803D Saving a TFont object FAQ 2692D Saving TFont information FAQ 1660D Antialiased Fonts Chris Hill s UseNet Post about Antialiased Fonts Yorai Aminov s UseNet Post about Antialiased Fonts Large Fonts Somewhere in the Display Settings which can vary by display adapter there is a selection Small Fonts 96 DPI Large Fonts 120 DPI You can set the form s scaled property to False but I still have seen undesirable effects Setting Form Scaled FALSE will keep the visual controls the same size and in the same location but according to the rules you always need to allow extra space with TLabels for either size font The whole Display Settings Font Size seems to be a bad idea or badly implemented As far as I know there is no good solution to small versus large fonts in Windows Basically all screen text locations need to be designed to hold the small font or a large font that is 125 the size of the small font Sometimes space is so tight to accomplish some goal that it s just not possible for large fonts to work correctly Neil Rubenking s FontViewer utility in PC Magazine speed up Windows by eliminating unneeded fonts Peter Below s UseNet Post with suggested approach Form display with different screen resolutions TI 944D Dmitri Papichev s UseNet Post with suggestions Turn off Scaled property of the forms Use only TrueType fonts TTF but not those with FON extension David Barnard s UseNet Post and design mode considerations Douglas UseNet Post about Large Fonts Steve Schafer s TeamB UseNet Post about Large Fonts Finn Tolderlund s UseNet Post Windows font size problem Checking for large fonts www preview org q q1020 shtml Rotated Fonts Creating a rotated font FAQ 615D How can I display a rotated font How can I print a rotated font TrueType Fonts Steve Schafer s Team B UseNet Post with IsTrueType function Checking if True Type fonts are available FAQ 2466D Adding TrueType fonts to windows in code FAQ 2537D Screen Fonts and Printer Fonts are TStrings lists of fonts that can be used on the display and the printer For an example of using Screen Fonts see the Wrap Text Inside Circle Lab Report How to Show Fonts in a ComboBox www swissdelphicenter ch en showcode php id 287 non Delphi Microsoft s Fonts and products www microsoft com typography fonts default asp Assign Error There are no fonts installed FAQ 2958D Color Changing font color on standard win controls FAQ 2716D Peter Below s UseNet Post about Font Color Limitations Handle TFont Handle is a Windows hFont TForm general info How to do textout in the caption region of a form See UseNet Postings by Renaldas and Charles Hacker Making Forms Work Part I Single Document Interface SDI www delphi jedi org Jedi VOYFORMS1 Making Forms Work Part II Communicating Between Forms www delphi jedi org Jedi VOYFORMS2 Making Forms Work Part III Windows Messages www delphi jedi org Jedi VOYFORMS3 Making Forms Work Part IV Interaction and Feedback www delphi jedi org Jedi VOYFORMS4 Transparent Form www vissers net delphi TransparentForm html www depaashaas com delphi more transparent html Gruhn s Transparent Delphi App www hwb com gruhn programming tutorial clear html Shannon Broskie s UseNet Post with DrawTitleBarImage function Peter Below s UseNet Post with CopyFormRectToBitmap procedure How can I create a transparent form www delphi3000 com articles article 327 asp Changing the main form of an app at runtime FAQ 1695D Drag a Form without clicking the caption bar TI 605D Draw On Frame FAQ 1079D How to scroll your form with pgUp and pgDn TI 593D How to set a max and min form size TI 968D use Form Constraints in D4 Making a form selectable without the main form TI 536D Minimizing Application When a Form Minimizes TI 1602D Preventing a Form from Resizing TI 1141D Setting a form s maxwidth in code FAQ 2559D Subclass the windows procedure for a TForm FAQ 1025D Using OnHint Events Among Mulitiple Forms TI 731D Resizing Forms Elena s UseNet Post with example of iterating through all components on a form to resize them ResizerPanel Want your Forms to work in any graphic resolution This component automatically adjusts all child controls size proportionally to the panel current size Including font size column widths etc With this you can easily deploy graphic resolution independent applications ftp carlos 123webhosting net pub resizer zip Miscellaneous A Form s canvas does not remember what you painted on it when the form repaints itself Therefore when painting on a Form s canvas always do it in the OnPaint method Full Screen Form1 BorderStyle bsNone Form1 Width Screen Width Form1 Height Screen Height Chapter 1 Delphi Programming Problem Solver by Neil Rubenking Eliminating a form s caption but leaving the border p 9 Getting the tiny title bar effect p 12 Taking over drawing a form s caption p 23 Putting a button on a form s title bar p 27 Taking over drawing a form s frame p 30 MDI Forms Richard s UseNet Post with information about difference between MDI parent and MDI child forms Brush Used automatically by Windows to paint the form s background Canvas TNCCanvas write on a form s non client area http delphifaq com fq q2005 shtml ClipRect Using InvalidateRect to repaint the entire form FAQ 1235D Constraints D4 Set Min Max Height Width of a form Before D4 capture use wm GetMinMaxInfo message example in efg s MazeMaker Lab Report Dets UseNet Post about form minimum size ControlStyle To prevent the form from repainting its background every time it does a paint which can cause flicker even when using the double buffering trick put the following in the FormCreate Form1 ControlStyle Form1 ControlStyle csOpaque DoubleBuffered D4 When DoubleBuffered is False the windowed control paints itself directly to the window When DoubleBuffered is True the windowed control paints itself to an in memory bitmap which is then used to paint the window Double buffering reduces the amount of flicker when the control repaints but is more memory intensive GetPalette See TForm1 GetPalette in pp 329 333 Delphi Programming Problem Solver Neil Rubenking Eddie Shipman s UseNet Post about making a rainbow background on a form Paint How to paint a form with a bitmap TI 551D Background Bitmaps on Forms by Robert Vivrette www undu com DN961001 00000006 htm How to Make a Polygonal Splash Screen by Michael Barnes www undu com DN970101 00000006 htm Eliminate flicker when painting on a form or a TPaintbox control for CPP Builder but should be easily adaptable to Delphi www bcbdev com faqs faq34 htm See Program Files Borland Delphi n HELP Examples Bitmap BMPFormU PAS PixelsPerInch Steve Trefethen s Delphi R D comments about PixelsPerInch problem Set TForm AutoScroll False AND develop on ALL development machines in Small fonts leaving TForm Scaled alone it s default value is True If the IDE had these problems we would hear about it non stop on the public newsgroups but it s never mentioned WRT the IDE which to me is proof that we have it right OnMouseDown OnMouseMove OnMouseUp Moving a control at runtime with the mouse FAQ 2936D Selection rectangle FAQ 1073D See Program Files Borland Delphi n Demos Doc Graphex GraphWin PAS Scaled Finn Tolderlund s UseNet Post about Windows font size problem TGraphic Steve Schafer s UseNet Post with procedures SaveGraphicToStream and LoadGraphicFromStream TIcon Colin Wilson s UseNet Post explaining limitations of TIcon if you want to manipulate icons in Delphi you ve got to code it all yourself The VCL doesn t do what you want Example of comparing two TIcons Example of converting TIcon to TBitmap How can I create a bitmap from an icon FAQ 2752D How can I create an icon from an sic bitmap FAQ 2748D Extracting Icons FAQ 1778D Extracting an icon from a EXE or DLL FAQ 2458D Creating a flashing icon FAQ 1103D Using an icon as the glyph in a TSpeedButton FAQ 2122D Stretchdraw on an icon FAQ 1818D Delphi Pool TIcon Tips www lmc mediaagentur de dpool graph12 htm Yorai Aminov s UseNet Post about How to Convert hICON to TIcon Joe Hecht s UseNet Post with StretchDrawIcon example ReleaseHandle Coliln Wilson UseNet Post about D4 TIcon Bug TImage general info In Windows every window must be able to repaint itself whenever Windows sends it a message to When you use a TImage the TImage repaints the window If you don t use a TImage then you must take the responsibility for repainting Delphi 3 7 Demos Imagview Mauro s UseNet Post about how to paste a bitmap to a TImage George Pistikos UseNet Post about TImage bug in Delphi 6 Paint on the contents of a TImage control www bcbdev com faqs faq35 htm Sim Zacks UseNet Post about smooth image move Mitch Wolberg s UseNet Post about image moving How to determine the TImage graphic type at runtime www lmc mediaagentur de dpool tips04 0366 htm How to move a TImage on a scrollbox www lmc mediaagentur de dpool tips05 0431 htm Delphi Pool TImage Tips www lmc mediaagentur de dpool graph07 htm Eliminating flicker during a TImage move operation http bcbcaq freeservers com eliminate flicker html Builder C Example of Moving Dragging TImage Array of TImages efg s UseNet Post Image Picture Graphic Empty efg s Newsgroup Post Johnnie s Newsgroup Post BringToFront Working with Color Palettes pp 209 211 How to Program Delphi 3 Suggests using Image BringToFront to control precedence in z order when multiple images with palettes are displayed Canvas Gordon s UseNet Post about the two canvases in a TImage According to Harold Howe s Post You can only draw on the Canvas property of TImage if the Picture is empty or contains a bitmap as its graphic You cannot draw on the Canvas of TImage if the image contains an icon or a metafile as its graphic Robert Rossmair s UseNet Post If TImage holds a bitmap both are identical i e TImage Canvas TImage Picture Bitmap Canvas If TImage doesn t hold a bitmap TImage Canvas is invalid Canvas vs Picture Bitmap Canvas Harold Howe s Post1 to borland public delphi graphics Robert Roßmair s UseNet Post TImage Canvas is a wrapper for TImage Picture Bitmap Canvas it s invalid whenever the Picture property holds some graphic type different from TBitmap OnMouseDown OnMouseMove OnMouseUp Borland example Delphi n Demos Doc GraphEx dpr See how to set reset the Screen Cursor on MouseDown and MouseUp Also shows how to restrict the cursor inside a TImage while drawing For a complete example see efg s Line Stretch Lab Report How to Draw a Rubber Banding Line by Robert Vivrette http www undu com DN960901 00000007 htm How to Draw Marching Ants by Robert Vivrette Marching Ants sometimes called a marquee rectangle is essentially an animated rubber banding line http www undu com DN960901 00000008 htm A Simple Drawing Program www undu com DN970901 00000020 htm Rob van Putten s UsetNet Post about how to know on what color I am over a TImage Also see ShowImage Lab Report Parent Gordon s UseNet post about can t create and display TImage at runtime Picture Borland example DelphiN Demos Doc GraphEx dpr Clear a picture in a TImage I mage Picture NIL Image Picture Assign NIL Stretch Save and load metafiles in a BLOB field without using DBImage FAQ 878D TImageList general info Dave Collie describes the power that lurks in the TImageList component it can do far more than immediately meets the eye Delphi Magazine Issue 36 August 1998 Dynamically drawing a transparent image FAQ 1794D See Delphi4 Demos CustomDraw DPR Adding images to menu items Delphi 4 Developer s Guide p 5 18 Jim Hollenberg s UseNet Post to avoid certain TImageList problems by turning hardware graphics acceleration off Delphi Pool TImageList Tips www lmc mediaagentur de dpool graph08 htm The Basics of an ImageList http bcbcaq freeservers com imagelist html AddMasked Dynamically drawing a transparent image FAQ 1794D Image Conflicts between different versions of IE FAQ 1846D Setting a transaprent sic background color for TImageList FAQ 2346D DrawingStyle Dynamically drawing a transparent image FAQ 1794D Masked Dynamically drawing a transparent image FAQ 1794D TJPEGImage general info Converting a BMP to a JPEG and Vice Versa TI 4582D Also see the File Formats and Conversion Page TLabel efg s example of TControl to TBitmap including a TLabel efg s example of moving TLabel at runtime with mouse events Dr Bob s Tip of the Hat Shading T42Label TList efg s UseNet Post about how to create TList of TBitmaps TListBox Adding graphics in your Listboxes and Comboboxes TI 725D Enabling a horizontal scroll bar for a list box TI 531D TMainMenu Adding images to menu items Delphi 4 Developer s Guide p 5 18 TMemo Adjusting the tab locations in a TMemo component FAQ 960D Determining a memo s number of lines showing TI 1201D Peter Below s UseNet Post about using tab stops in a TMemo Getting the line number in a memo Field TI 773D Line Memo1 Perform EM LINEFROMCHAR 1 0 TTransparentMemo in UseNet Post by Benjamin PageUp PageDown to Scroll Up Down in TMemo in UseNet Post by Alexandru Preda TMemoryStream Using JPEGs from resource files FAQ 1882D Loading Bitmaps and Cursors from RES Files TI 1081D Extracting a JPEG Resource from an EXE TI 4532D Also see Delphi Stream I O page TMetafile How can I place a bitmap in a metafile FAQ 1842D Metafile Fonts and the VCL FAQ 2952D Determining if a canvas is a Metafile Canvas FAQ 2638D Also see the File Formats and Conversion Page TMetafileCanvas How can I place a bitmap in a metafile FAQ 1842D TPageControl Peter Below s UseNet Post about texture bitmap background on pagecontrol tabcontrol Owner Drawn Tabs Builder example http bcbcaq freeservers com OD Tabs html TPaintBox Thread Sorting Demo Borland example Delphi n Demos Threads ThrdDemo DPR Steve Schafer s UseNet Post TPaintBox Font Color as well as TPaintBox Color is a for your information property It s for the use of the code in your paint box s OnPaint event handler and

    Original URL path: http://www.efg2.com/Lab/Library/Delphi/Graphics/VCLRTL.htm (2016-02-14)
    Open archived version from archive


  • 5 5 5 while still keeping the scale similar so that the image looks right You ll get best results by using a combination of quantization and dithering for this conversion You re going to lose precision in going from 8 8 8 to 5 56 5 that s just a fact of life for this kind of conversion you re quantizing an 8 bit channel to a fewer number

    Original URL path: http://www.efg2.com/Lab/Library/UseNet/1999/0602.txt (2016-02-14)
    Open archived version from archive


  • of flipping bitmap by writing to MemoryStream and loading second bitmap in flipped order efg 6 October 2000 www efg2 com Lab unit Unit1 interface uses Windows Messages SysUtils Classes Graphics Controls Forms Dialogs ExtCtrls StdCtrls type TForm1 class TForm Button1 TButton Image1 TImage Image2 TImage procedure Button1Click Sender TObject private Private declarations public Public declarations end var Form1 TForm1 implementation R DFM procedure TForm1 Button1Click Sender TObject VAR j INTEGER Bitmap1 TBitmap Bitmap2 TBitmap row pByteArray ScanlineBytes INTEGER Stream TMemoryStream begin Bitmap1 TBitmap Create TRY Assume Image1 and Image2 are the same size Bitmap1 Width Image1 Width Bitmap1 Height Image1 Height Bitmap1 PixelFormat pf24bit Make something assymmetric in picture Bitmap1 Canvas Pen Color clRed Bitmap1 Canvas MoveTo 0 0 Bitmap1 Canvas LineTo Bitmap1 Width Bitmap1 Height Bitmap1 Canvas MoveTo Bitmap1 Width DIV 2 0 Bitmap1 Canvas LineTo 0 Bitmap1 Height DIV 2 Image1 Picture Graphic Bitmap1 Stream TMemoryStream Create TRY ScanlineBytes ABS Integer Bitmap1 Scanline 1 Integer Bitmap1 Scanline 0 FOR j 0 TO Bitmap1 Height 1 DO BEGIN row Bitmap1 Scanline j Stream Write row 0 ScanlineBytes END Bitmap2 TBitmap Create TRY Bitmap2 Width Bitmap1 Width Bitmap2 Height Bitmap1 Height Bitmap2 PixelFormat pf24bit position stream pointer at beginning

    Original URL path: http://www.efg2.com/Lab/Library/Delphi/IO/ScanlineAndStreams.txt (2016-02-14)
    Open archived version from archive


  • indeed compare 2 RGB quads My original problem was that the comparison was failing on a test machine running Windows 98 Nils solution still didn t solve the problem A colleague of mine had a look and found exactly what the problemn was and how to fix it and I think this may be of interest in this group When creating a 32Bit bitmap or loading one from file or

    Original URL path: http://www.efg2.com/Lab/Library/UseNet/2002/0320.txt (2016-02-14)
    Open archived version from archive


  • 95 one Win 98 report 1FFFFFF 33554431 0 00 in the example below procedure TForm1 Button1Click Sender TObject TYPE TRowSingle ARRAY WORD OF Single pRowSingle TRowSingle TRGBQuadArray ARRAY WORD OF DWORD could use TRGBQuad pRGBQuadArray TRGBQuadArray VAR Bitmap TBitmap RowSingle pRowSingle RowDWORD pRGBQuadArray begin Bitmap TBitmap Create TRY Bitmap Width 100 Bitmap Height 100 Bitmap PixelFormat pf32bit RowSingle Bitmap ScanLine 0 RowDWORD Bitmap ScanLine 0 ShowMessage Format 8x d f

    Original URL path: http://www.efg2.com/Lab/Library/UseNet/2000/0410b.txt (2016-02-14)
    Open archived version from archive


  • a lot of pf24bit pixels and must work with individual color components it s usually easier to work with a TRGBTriple since each Scanline is just an Array of TRGBTriple Here s a conversion from the 1 format see above of TColor to a TRGBTriple This allows quick conversion from a TColor to a TRGBTriple The inverse function is fairly simple too FUNCTION ColorToRGBTriple CONST Color TColor TRGBTriple BEGIN WITH RESULT DO BEGIN rgbtRed GetRValue Color rgbtGreen GetGValue Color rgbtBlue GetBValue Color END END ColorToRGBTriple And if you have to define the TColor using the RGB function anyway just assign a TRGBTriple value instead You can always use a TRGBTriple constant for a defined color for example Set bitmap to yellow using Scanline and a TRGBTriple constant Delphi 4 02 or later procedure TForm1 Button2Click Sender TObject CONST Yellow TRGBTriple rgbtBlue 0 rgbtGreen 255 rgbtRed 255 TYPE TRGBTripleArray ARRAY WORD OF TRGBTriple pRGBTripleArray TRGBTripleArray VAR Bitmap TBitmap i INTEGER j INTEGER row pRGBTripleArray begin Bitmap TBitmap Create TRY Bitmap Width Image Width Bitmap Height Image Height Bitmap PixelFormat pf24bit FOR j 0 TO Bitmap Height 1 DO BEGIN row Bitmap Scanline j FOR i 0 TO Bitmap Width 1 DO BEGIN row i Yellow END END Image Picture Graphic Bitmap FINALLY Bitmap Free END end You might be tempted to use a pf32bit Scanline and try to cast a TColor to a TRGBQuad like this procedure TForm1 Button3Click Sender TObject TYPE TRGBQuadArray ARRAY WORD OF TRGBQuad pRGBQuadArray TRGBQuadArray VAR Bitmap TBitmap Color TColor i INTEGER j INTEGER row pRGBQuadArray yellow TRGBQuad begin Color clYellow yellow TRGBQuad Color Bitmap TBitmap Create TRY Bitmap Width Image Width Bitmap Height Image Height Bitmap PixelFormat pf32bit FOR j 0 TO Bitmap Height 1 DO BEGIN row Bitmap Scanline j FOR i 0 TO Bitmap

    Original URL path: http://www.efg2.com/Lab/Library/UseNet/2001/0305b.txt (2016-02-14)
    Open archived version from archive


  • a similar approach in Kylix but I think you need to define the TRGBQuad since it s not defined in Kylix but is in Delphi Here s an actual Kylix Scanline example using a pf32bit Scanline implementation R xfm TYPE TRGBQuad from Delphi s windows pas PACKED RECORD rgbBlue BYTE rgbGreen BYTE rgbRed BYTE rgbReserved BYTE END pRGBQuad TRGBQuad TRGBQuadArray ARRAY WORD OF TRGBQuad pRGBQuadArray TRGBQuadArray procedure TForm1 Button1Click Sender

    Original URL path: http://www.efg2.com/Lab/Library/UseNet/2001/0625b.txt (2016-02-14)
    Open archived version from archive

  • efg's Image Processing -- Create Mandrill BMP Lab Report
    green and mandrill red from FTP site Hardware Requirements VGA display in high color or true color mode An 800 by 600 display will allow you to see the whole image at one time Procedure Download the three Sun Raster Images mandrill blue mandrill green and mandrill red from ftp ftp vislist com IMAGERY MANDRILL or see Download below Each of these files is 257 KB Double click on the Mandrill icon to start the program CreateMandrillBMP EXE Press the Read button to read the three files downloaded in step 1 above The 512 by 512 pixel by 24 bits pixel image 769 KB Mandrill BMP is automatically created and written to disk Discussion Three separate FileStreams StreamRed StreamGreen StreamBlue were used to step through the Sun raster files After skipping over the 32 byte each 512 byte scanline was read and put into the TBitmap scanline of a pf24bit TBitmap The Show Image program indicates this image has 230 427 unique RGB colors This is amazing since the image only has 262 144 pixels Because of the large number of unique colors this image does not compress well See ZIP stats below Conclusions The Mandrilll BMP image is a

    Original URL path: http://www.efg2.com/Lab/ImageProcessing/CreateMandrillBMP.htm (2016-02-14)
    Open archived version from archive



  •