Показать сообщение отдельно
Старый 17.09.2014, 15:51   #18  
alexkrut is offline
alexkrut
Участник
 
20 / 33 (2) +++
Регистрация: 19.12.2011
;) А тем временем...
Всем спасибо, решение найдено.

X++:
display FilePath imageView()
{
    System.Drawing.Bitmap       bmp;
    System.Drawing.Graphics     gBmp;
    System.Drawing.Graphics     gBmp2;
    System.Drawing.Color        color;
    System.Drawing.SolidBrush   brush;

    Image                       image  = new Image();

    int64                       hBitmap;
    
    WinGDI                      winGDI;

    ;

    bmp         = new System.Drawing.Bitmap(100, 50);
    
    if( this.path == "1" )//условие отрисовки картинки
    {
        color   = System.Drawing.Color::FromArgb(0x99, 0xf0, 0xf0, 0);
    }
    
    else
    {
        color   = System.Drawing.Color::FromArgb(0x99, 0xf0, 0, 0);
    }
    
    brush       = new System.Drawing.SolidBrush(color);
    gBmp        = System.Drawing.Graphics::FromImage(bmp);
    gBmp.FillEllipse(brush, 10, 10, 30, 30);

    gBmp2       = System.Drawing.Graphics::FromImage(bmp);
    gBmp2.DrawImage( System.Drawing.Image::FromFile( "S:\mf.jpg" ), 60, 10, 30, 30 );

    hBitmap     = bmp.GetHbitmap();

    image.importBitmap(hBitmap);
    image.saveImage( @"S:\\tmpfile.gif" );
    
    winGDI      = new WinGDI( hBitmap );
    winGDI.deleteObject( hBitmap );

    return "S:\\tmpfile.gif";
}
Единственная проблема сейчас - deleteObject не удаляет битмапы корректно, но это уже сами решим).
За это сообщение автора поблагодарили: S.Kuskov (1).