Einzelnen Beitrag anzeigen

DarkItachi

Registriert seit: 28. Dez 2009
Ort: Berlin
130 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Benötige Hilfe bei C++ -> Delphi

  Alt 22. Apr 2011, 17:27
Ich habe nichts zu tun..
Delphi-Quellcode:
type
  TColorAverage = array of TColor;

function AverageColors (source: TBitmap; colours : Integer): TColorAverage;
{
  var averages:Array = new Array();
  var columns:int = Math.round( Math.sqrt( colours ) );

  var row:int = 0;
  var col:int = 0;

  var x:int = 0;
  var y:int = 0;

  var w:int = Math.round( source.width / columns );
  var h:int = Math.round( source.height / columns );

  for (var i:int = 0; i < colours; i++)
  {
      var rect:Rectangle = new Rectangle( x, y, w, h );

      var box:BitmapData = new BitmapData( w, h, false );
      box.copyPixels( source, rect, new Point() );

      averages.push( averageColour( box ) );
      box.dispose();

      col = i % columns;

      x = w * col;
      y = h * row;

      if ( col == columns - 1 ) row++;
      return averages
   }


var
  averages : TColorAverage;
  columns, row, col: Integer;
  w, h, x, y : Integer;
  i: Integer;
  rectangle: TRect;
  box: TBitmap;
begin
  columns := round(sqrt(colours));
  row:= 0;
  col:= 0;
  x:= 0;
  y:= 0;

  w:= round(source.Width / columns);
  h:= round(source.Height / columns);

  SetLength(averages, colours);

  for i := 0 to colours -1 do
  begin
    rectangle:= rect(x, y, w, h);
    box:= TBitmap.Create;
    box.Width:= w;
    box.Height:= h;
    box.Transparent:= False;

    //copyPixels(
  end;
end;
Bei CopyPixels komm ich nicht weiter. Ich weiß nicht was ich dafür nutzen soll. Aber einen Ansatz hast du jetzt
Developer since age 14
  Mit Zitat antworten Zitat