Janilabo

absolute borders

Sep 24th, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 15.72 KB | None | 0 0
  1. {$loadlib pumbaa.dll}
  2.  
  3. const
  4.   DISPLAY_DELAY = 2500; // Small delay before it displays borders..
  5.  
  6. {==============================================================================]
  7.   Explanation: Returns all the color points from bitmap as TPointArray.
  8.                Result is based on Row-by-Row.
  9. [==============================================================================}
  10. function GetBitmapColorTPA(bmp: Integer; color: Integer): TPointArray;
  11. var
  12.   w, h, x, y, r: Integer;
  13. begin
  14.   try
  15.     GetBitmapSize(bmp, w, h);
  16.   except
  17.   end;
  18.   if ((w > 0) and (h > 0)) then
  19.   begin
  20.     SetLength(Result, (w * h));
  21.     for y := 0 to (h - 1) do
  22.       for x := 0 to (w - 1) do
  23.         if (FastGetPixel(bmp, x, y) = color) then
  24.         begin
  25.           Result[r] := Point(x, y);
  26.           Inc(r);
  27.         end;
  28.   end;
  29.   SetLength(Result, r);
  30. end;
  31.  
  32. procedure DrawBounds(var bmp: Integer; ATPA: T2DPointArray; color: Integer);
  33. var
  34.   w, h, l, i, x, y: Integer;
  35.   b: TBox;
  36. begin
  37.   GetBitmapSize(bmp, w, h);
  38.   l := Length(ATPA);
  39.   for i := 0 to (l - 1) do
  40.   begin
  41.     b := GetTPABounds(ATPA[i]);
  42.     b.X1 := (b.X1 - 1);
  43.     b.Y1 := (b.Y1 - 1);
  44.     b.X2 := (b.X2 + 1);
  45.     b.Y2 := (b.Y2 + 1);
  46.     for x := b.X1 to b.X2 do
  47.       if ((x > -1) and (b.Y1 > -1) and (x < w) and (b.Y1 < h)) then
  48.         FastSetPixel(bmp, x, b.Y1, color);
  49.     for y := b.Y1 to b.Y2 do
  50.       if ((b.X2 > -1) and (y > -1) and (b.X2 < w) and (y < h)) then
  51.         FastSetPixel(bmp, b.X2, y, color);
  52.     for x := b.X2 downto b.X1 do
  53.       if ((x > -1) and (b.Y2 > -1) and (x < w) and (b.Y2 < h)) then
  54.         FastSetPixel(bmp, x, b.Y2, color);
  55.     for y := b.Y2 downto b.Y1 do
  56.       if ((b.X1 > -1) and (y > -1) and (b.X1 < w) and (y < h)) then
  57.       FastSetPixel(bmp, b.X1, y, color);
  58.   end;
  59. end;
  60.  
  61. procedure DebugBitmap(bmp: Integer);
  62. var
  63.   w, h: Integer;
  64. begin
  65.   GetBitmapSize(bmp, w, h);
  66.   DisplayDebugImgWindow(w, h);
  67.   DrawBitmapDebugImg(bmp);
  68. end;
  69.  
  70. procedure Test;
  71. var
  72.   bmp, t: Integer;
  73.   TPA: TPointArray;
  74.   ATPA: T2DPointArray;
  75. begin
  76.   ClearDebug;
  77.   bmp := BitmapFromString(774, 425, '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');
  78.   DebugBitmap(bmp);
  79.   TPA := GetBitmapColorTPA(bmp, 0);
  80.   t := GetSystemTime;
  81.   pp_TPABorders(TPA);
  82.   WriteLn('Borders() took ' + IntToStr(GetSystemTime - t) + ' ms.');
  83.   Wait(DISPLAY_DELAY - (GetSystemTime - t));
  84.   DrawTPABitmap(bmp, TPA, 255);
  85.   DebugBitmap(bmp);
  86. end;
  87.  
  88. begin
  89.   Test;
  90. end.
Advertisement
Add Comment
Please, Sign In to add comment