Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Проецирование BMP (https://forum.antichat.xyz/showthread.php?t=121307)

.ATK 19.05.2009 01:55

Проецирование BMP
 
Имеется следующая функция:
Цитата:

void DrawBitmap(HDC hdc, HBITMAP hBitmap, int xStart, int yStart, int r)
{
HDC hdcMem;
HDC hdcMask;
DWORD dwSize;
hdcMem = CreateCompatibleDC(hdc);
SelectObject(hdcMem, hBitmap);
GetObject(hBitmap, sizeof(BITMAP),(LPVOID) &bm);
StretchBlt(hdc, xStart, yStart,r,r, hdcMem, 0, 0,bm.bmWidth, bm.bmHeight, SRCAND);
DeleteDC(hdcMem);
}
HBITMAP hBitmap - *.bmp зелёненький кружочек на белом фоне..
Вызываю эту функцию и происходит следующее: кружочек движется сверху вниз, и уменьшается в радиусе... Внимание вопрос: как сделать, что бы он есчо и изменял цвет ?

BrainDeaD 19.05.2009 02:54

думаю это тебе поможет

.ATK 19.05.2009 03:25

кто поможет дам 300 рублей: http://Piramidalint.narod.ru/Laba_6.rar

Gar|k 19.05.2009 17:10

кружочек можно и стандартной функцией GDI нарисовать
Цитата:

Функция Ellipse

Описание:
function Ellipse(DC: HDC, X1, Y1, X2, Y2: Integer): Bool;
Рисует эллипс, центpиpованный в огpаничивающем пpямоугольнике, гpаница котоpого наpисована текущим пеpом и заполнена текущей кистью
Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.
Возвpащаемое значение:
Не нуль, если эллипс наpисован; нуль - в пpотивном случае.
функция находится в файле gdi32.dll
вот тебе мои функции некоторые полезные

Код:

// рисуем прямоугольнички
void DrawPryam(HDC hDC,COLORREF fon,COLORREF ramka,int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int border=1)
        {
        HBRUSH zaliv,hOldbr;
        HPEN contr,hOldpen;

        zaliv=CreateSolidBrush(fon);
        contr=CreatePen(PS_SOLID,border,ramka);

        hOldbr=(HBRUSH)SelectObject(hDC,zaliv);
        hOldpen=(HPEN)SelectObject(hDC,contr);

        Rectangle(hDC,nLeftRect,nTopRect,nRightRect,nBottomRect);

        DeleteObject(zaliv);
        DeleteObject(contr);

        SelectObject(hDC,hOldbr);
        SelectObject(hDC,hOldpen);
        }

void DrawLine(HDC hDC,COLORREF color,int sx,int sy,int ex,int ey,int size=1)
        {
        HPEN hRaz,hold_pen;
        hRaz=CreatePen(PS_SOLID,size,color);
        hold_pen=(HPEN)SelectObject(hDC,hRaz);

        MoveToEx(hDC,sx,sy,NULL);
        LineTo(hDC,ex,ey);

        SelectObject(hDC,hold_pen);
        }

http://msdn.microsoft.com/en-us/library/dd145203(VS.85).aspx - Windows GDI


Время: 07:34