Registriert seit: 28. Dez 2009
Ort: Berlin
130 Beiträge
Delphi 2007 Enterprise
|
AW: Benötige Hilfe bei C++ -> Delphi
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
|
|
Zitat
|