close
تبلیغات در اینترنت
فرم به صورت Gradient
loading...
سرویس سایت سایت رزبلاگ بزرگترین سرویس ارائه خدمات سایت نویسی حرفه ای در ایران

فیلم و کتاب دات آی آر

procedure FillGradientRect(Canvas: TCanvas; Recty: TRect; fbcolor, fecolor: TColor; fcolors: Integer);var  i, j, h, w, fcolor: Integer;  R, G, B: Longword;  beginRGBvalue, RGBdifference: array[0..2] of Longword;begin  beginRGBvalue[0] := GetRvalue(colortoRGB(FBcolor));  beginRGBvalue[1] := GetGvalue(colortoRGB(FBcolor));  beginRGBvalue[2] := GetBvalue(colortoRGB(FBcolor));  RGBdifference[0] := GetRvalue(colortoRGB(FEcolor)) - beginRGBvalue[0];  RGBdifference[1]…

procedure FillGradientRect(Canvas: TCanvas; Recty: TRect; fbcolor, fecolor: TColor; fcolors: Integer);
var
  i, j, h, w, fcolor: Integer;
  R, G, B: Longword;
  beginRGBvalue, RGBdifference: array[0..2] of Longword;
begin
  beginRGBvalue[0] := GetRvalue(colortoRGB(FBcolor));
  beginRGBvalue[1] := GetGvalue(colortoRGB(FBcolor));
  beginRGBvalue[2] := GetBvalue(colortoRGB(FBcolor));

  RGBdifference[0] := GetRvalue(colortoRGB(FEcolor)) - beginRGBvalue[0];
  RGBdifference[1] := GetGvalue(colortoRGB(FEcolor)) - beginRGBvalue[1];
  RGBdifference[2] := GetBvalue(colortoRGB(FEcolor)) - beginRGBvalue[2];

  Canvas.pen.Style := pssolid;
  Canvas.pen.mode := pmcopy;
  j := 0;
  h := recty.Bottom - recty.Top;
  w := recty.Right - recty.Left;

  for i := fcolors downto 0 do
  begin
  recty.Left := muldiv(i - 1, w, fcolors);
  recty.Right := muldiv(i, w, fcolors);
  if fcolors1 then
  begin
  R := beginRGBvalue[0] + muldiv(j, RGBDifference[0], fcolors);
  G := beginRGBvalue[1] + muldiv(j, RGBDifference[1], fcolors);
  B := beginRGBvalue[2] + muldiv(j, RGBDifference[2], fcolors);
  end;
  Canvas.Brush.Color := RGB(R, G, B);
  patBlt(Canvas.Handle, recty.Left, recty.Top, Recty.Right - recty.Left, h, patcopy);
  Inc(j);
  end;
end;

// Case 1

procedure TForm1.FormPaint(Sender: TObject);
begin
  FillGradientRect(Form1.Canvas, rect(0, 0, Width, Height), $FF0000, $00000, $00FF);
end;


// Case 2
procedure TForm1.FormPaint(Sender: TObject);
var
  Row, Ht: Word;
  IX: Integer;
begin
  iX := 200;
  Ht := (ClientHeight + 512) div 256;
  for Row := 0 to 512 do
  begin
  with Canvas do
  begin
  Brush.Color := RGB(Ix, 0, row);
  FillRect(Rect(0, Row * Ht, ClientWidth, (Row + 1) * Ht));
  IX := (IX - 1);
  end;
  end;
end;


{
  Note, that the OnResize event should also call the FormPaint
  method if this form is allowed to be resizable.
  This is because if it is not called then when the
  window is resized the gradient will not match the rest of the form.
}

{***********************************************************}

{2. Another function}


procedure TForm1.Gradient(Col1, Col2: TColor; Bmp: TBitmap);
type
  PixArray = array [1..3] of Byte;
var
  i, big, rdiv, gdiv, bdiv, h, w: Integer;
  ts: TStringList;
  p: ^PixArray;
begin
  rdiv := GetRValue(Col1) - GetRValue(Col2);
  gdiv := GetgValue(Col1) - GetgValue(Col2);
  bdiv := GetbValue(Col1) - GetbValue(Col2);

  bmp.PixelFormat := pf24Bit;

  for h := 0 to bmp.Height - 1 do
  begin
  p := bmp.ScanLine[h];
  for w := 0 to bmp.Width - 1 do
  begin
  p^[1] := GetBvalue(Col1) - Round((w / bmp.Width) * bdiv);
  p^[2] := GetGvalue(Col1) - Round((w / bmp.Width) * gdiv);
  p^[3] := GetRvalue(Col1) - Round((w / bmp.Width) * rdiv);
  Inc(p);
  end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  BitMap1: TBitMap;
begin
  BitMap1 := TBitMap.Create;
  try
  Bitmap1.Width := 300;
  bitmap1.Height := 100;
  Gradient(clred, clBlack, bitmap1);
  // So könnte man das Bild dann zB in einem TImage anzeigen
  // To show the image in a TImage:
  Image1.Picture.Bitmap.Assign(bitmap1);
  finally
  Bitmap1.Free;
  end;
end;

درباره :
برچسب ها : فرم به صورت Gradient , نمایش مکان موس در فرم , برنامه نویسی دلفی , آموزش , کامپوننت , سورس , فرم ها در دلفی , دلفی سرا , وب سایت رسمی برنامه نویسی دلفی , برنامه نویسان دافی , برنامه نویسی کاربردی , کد نویسی , برنامه ,
بازدید : 809 تاریخ : زمان : نویسنده : بهرام محمدپور نظرات ()
مطالب مرتبط
  • خالی کردن همه Edit ها با هم خالی کردن همه Edit ها با هم
  • جستجو از پایگاه داده SQL با استفاده یک Edit معمولی جستجو از پایگاه داده SQL با استفاده یک Edit معمولی
  • حذف کاربر از adatabase حذف کاربر از adatabase
  • اضافه کردن شماره سطر در خود DBGrid اضافه کردن شماره سطر در خود DBGrid
  • چگونه میتوان یک عکس Jpeg را در یک فیلد Blob(حباب) ذخیره کرد؟ چگونه میتوان یک عکس Jpeg را در یک فیلد Blob(حباب) ذخیره کرد؟
  • قرار دادن رنگ خاص در هر سلول DBGrid قرار دادن رنگ خاص در هر سلول DBGrid
  • قرار دادن رنگ پس زمینه های مختلف از DBGrid برای ردیفهای زوج و فرد قرار دادن رنگ پس زمینه های مختلف از DBGrid برای ردیفهای زوج و فرد
  • نمایش تصاویر در DBGrid نمایش تصاویر در DBGrid
  • حذف از پایگاه داده در دلفی حذف از پایگاه داده در دلفی
  • چگونه میتوان کلید Scroll ماوس را برای DBGrid تعریف کرد؟ چگونه میتوان کلید Scroll ماوس را برای DBGrid تعریف کرد؟
  • انتخاب رکورد تصادفی از DBGrid انتخاب رکورد تصادفی از DBGrid
  • به چرخش در آوردن متن به چرخش در آوردن متن
  • یک ساعت فوق العاده یک ساعت فوق العاده
  • تعدادی از مبدل ها تعدادی از مبدل ها
  • رنگی کردن سطر های یک DBGrid را به صورت یکی در میان رنگی کردن سطر های یک DBGrid را به صورت یکی در میان
  • MultiSelect کردن DBgrid MultiSelect کردن DBgrid
  • انتخاب رکورد تصادفی از DBGrid انتخاب رکورد تصادفی از DBGrid
  • کد جستجوی بین دو تاریخ در دلفی کد جستجوی بین دو تاریخ در دلفی
  • فعال و غیر فعال سازی Beep سیستم فعال و غیر فعال سازی Beep سیستم
  • پخش صدای سیستم در دلفی پخش صدای سیستم در دلفی
  • بررسی باز بودن CD-ROM در دلفی بررسی باز بودن CD-ROM در دلفی
  • غیر فعال کردن Firewal XP در دلفی غیر فعال کردن Firewal XP در دلفی
  • مشخص کردن فرمت درایو در دلفی مشخص کردن فرمت درایو در دلفی
  • ایجاد یک جورچین از تصویر صفحه نمایش در دلفی ایجاد یک جورچین از تصویر صفحه نمایش در دلفی
  • قرار دادن یک چند ضلعی روی فرم قرار دادن یک چند ضلعی روی فرم
  • ارسال نظر برای این مطلب

    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
    تبلیغات
    Rozblog.com رز بلاگ - متفاوت ترين سرويس سایت ساز

    آمار سایت
  • کل مطالب : 4311
  • کل نظرات : 17
  • افراد آنلاین : 8
  • تعداد اعضا : 2920
  • آی پی امروز : 0
  • آی پی دیروز : 282
  • بازدید امروز : 808
  • باردید دیروز : 0
  • گوگل امروز : 20
  • گوگل دیروز : 0
  • بازدید هفته : 808
  • بازدید ماه : 808
  • بازدید سال : 808
  • بازدید کلی : 5,572,331
  • مطالب
    کدهای اختصاصی