• Dasturdagi bitli tasvir
  • Bitli tasvirlardan foydalanish




    Download 0,95 Mb.
    bet9/17
    Sana18.05.2024
    Hajmi0,95 Mb.
    #242188
    1   ...   5   6   7   8   9   10   11   12   ...   17
    Bog'liq
    I bob c builder dasturining grafik imkoniyatlari 6

    1.3. Bitli tasvirlardan foydalanish


    Murakkab tasvirlarni tashkil etish uchun bitli tasvirlashdan foydalaniladi. Bitli tasvir—kompyuter xotirasida joylashgan katta boʻlmagan rasmdir. Bitli tasvirni baytlar yoki fayldagi resurslar orqali tashkil etish mumkin. Shuningdek, “forma sirtidan yoki boshqa bitli tasvirlardan olingan nusxalar boʻlishi mumkin”[2,12].
    Bitli tasvirlarni garfik muharrirlar yordamida tayyorlash yoki dasturiy vositalar yordamida resurslardan yuklab olish mumkin. Oxirgi holat fayl resurslarini tashkil etish va unga bitli tasvirlarni joylashtirish imkonini beradi. Fayl resurslarini ImageEditor utilitasi yordamida ham yaratish va tahrirlash mumkin.
    Dasturdagi bitli tasvir — bu TBitmap obyektidir. Quyidagi jadvalda TBitmap ning ayrim xossalari keltirilgan:
    6-Jadval. TBitmap obyektining xususiyatlari

    Xususiyatlari

    Vazifasi

    Height,Width

    Bitli tasvir oʻlchamlari. Fayl yoki resursdan yuklangan bitli tasvirga mos keluvchi qiymatlar

    Empty

    Bitli tasvirning fayldan yuklanganlik belgisi

    Transparent

    Shaffof rangni oʻrnatish. Bu rang bilan boʻyalgan rasm elementlari Draw metodi chaqirilmaydi

    Transparent Color

    Shaffof rang rejimini oʻrnatish. Odatda TransParentColor quyi chap piksel rangi bilan aniqlanadi

    Canvas

    Bitli tasvir sirti . Rasm xuddi forma sirtida yoki Image komponentasida chizilgani kabi

    Bitli tasvirni bmp fayllarni chaqirilgani kabi LoadFromFile metodi bilan chaqirish mumkin. Masalan, quyidagi dastur boʻlagi bitli tasvirni fayldan yuklash ishini bajaradi:
    #include
    #pragma hdrstop
    #include "Unit1.h"
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    Graphics::TBitmap *Background, *Bitmap, *Buf;
    int W,H,x,y;
    TRect BufRect,BackRot;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    Background = new Graphics::TBitmap();
    Bitmap = new Graphics::TBitmap();
    Buf = new Graphics::TBitmap();
    Background->LoadFromFile("sea.bmp");
    Form1->Image1->Canvas->Draw(0,0,Background);
    Bitmap->LoadFromFile("ship.bmp");
    Bitmap->Transparent = true;
    Bitmap->TransparentColor = Bitmap->Canvas->Pixels[1][1];
    W= Bitmap->Width;
    H= Bitmap->Height;
    Buf->Width= W;
    Buf->Height=H;
    Buf->Palette=Background->Palette;
    Buf->Canvas->CopyMode=cmSrcCopy;
    BufRect=Bounds(0,0,W,H);
    x = -150;
    y = 100;
    BackRot=Bounds(x,y,W,H);
    Buf->Canvas->CopyRect(BufRect,Background->Canvas,BackRot);
    Form1->DoubleBuffered = true; }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    { Form1->Image1->Canvas->Draw(x,y,Buf);
    x++;
    if (x>Form1->Image1->Width) x=-W;
    BackRot=Bounds(x,y,W,H);
    Buf->Canvas->CopyRect(BufRect,Background->Canvas,BackRot);
    Form1->Image1->Canvas->Draw(x,y,Bitmap);
    Timer1->Interval=50;}
    Ushbu dastur ishlashi natijasida forma oynasida quyidagi harakatlanuvchi tasvir hosil boʻladi:

    1.8.Rasm. Harakatlanuvchi kema tasviri

    Download 0,95 Mb.
    1   ...   5   6   7   8   9   10   11   12   ...   17




    Download 0,95 Mb.