Ako hoces da savucas stanje kvadrata (tj, kako su segmenti u kvadratu ofarbani), ja bih to odradio ovako:
Code:
const
CELL_X_COUNT = 5;
CELL_Y_COUNT = 5;
var
X, Y : Integer;
colors : array[1..CELL_X_COUNT, 1..CELL_Y_COUNT] of TColor;
cell_width : Integer;
cell_height: Integer;
begin
cell_width := Image1.Picture.Bitmap.Width div CELL_X_COUNT;
cell_height := Image1.Picture.Bitmap.Height div CELL_Y_COUNT;
for X := 1 to CELL_X_COUNT do
for Y := 1 to CELL_Y_COUNT do
colors[X, Y] := Image1.Picture.Bitmap.Canvas.Pixels[Trunc((X - 1 + 0.5) * cell_width),
Trunc((Y - 1 + 0.5) * cell_height)];
CELL_X_COUNT i CELL_Y_COUNT ti predstavljaju broj segmenata u kvadratu, racuna se sirina i visina segmenta na osnovu toga, i onda se u brojacu gadja centralni piksel svakog segmenta i uzima boja koja se cuva u colors[] matrici. Nisam testirao kod, ali bi trebao da radi.
[Ovu poruku je menjao reiser dana 01.07.2013. u 19:17 GMT+1]