dedanoe
May 2nd, 2012, 3:28 PM
neznaam dali vam vi teknalo .jpg .bmp mene stalno mi priteknuva... digitalnite sliki dal se vo .jpg il se vo .bmp se vo osnova matrica na pixeli so RGB coloritni vrednosti sekoja so po osum bita 0-255 pa: ako zemesh edna takva matrica so format recimo 800x600 pixeli togaj site mozhni varijacii na tema for 1st pixel := 0 to 1 in variation all the way to the last pixel := 0 to 1 moesh da gi DOBRIjezh site moguchi sliki na sveto epa bel vo ramki na toj format sledstveno na toa i so taa rezolucija. guess how N.A.S.A's doing the cosmos research crucifixion -- ally ???
guess it takes 256^3 x 800 x 600 = 805306368E12 for-next-blocks per cycle so if block takes sec then cycle lasts /3600 /24 /365.25 =255186.1891 years
unit mainunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TMyArray = array[1..360000 * 32] of Boolean;
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
PixelArray: TMyArray;
implementation
{$R *.dfm}
procedure UpOne(i: Integer);
begin
if i <= 360000 * 32 then begin
if not PixelArray[i] then begin
PixelArray[i]:= True;
end else begin
PixelArray[i]:= False;
UpOne(i + 1);
end;
end;
end;
function BooleanToByte(x: Boolean): Byte;
begin
Result:= 0; if x = True then Result:= 1;
end;
procedure PixelArrayOnScreen;
var
i, j, colorot: Integer;
begin
for i:= 1 to 360000 * 32 do begin
j:= i div 24 + i mod 24;
colorot:=
BooleanToByte(PixelArray[j + 00]) +
2 * (BooleanToByte(PixelArray[j + 01]) +
2 * (BooleanToByte(PixelArray[j + 02]) +
2 * (BooleanToByte(PixelArray[j + 03]) +
2 * (BooleanToByte(PixelArray[j + 04]) +
2 * (BooleanToByte(PixelArray[j + 05]) +
2 * (BooleanToByte(PixelArray[j + 06]) +
2 * (BooleanToByte(PixelArray[j + 07]) +
2 * (BooleanToByte(PixelArray[j + 08]) +
2 * (BooleanToByte(PixelArray[j + 09]) +
2 * (BooleanToByte(PixelArray[j + 10]) +
2 * (BooleanToByte(PixelArray[j + 11]) +
2 * (BooleanToByte(PixelArray[j + 12]) +
2 * (BooleanToByte(PixelArray[j + 13]) +
2 * (BooleanToByte(PixelArray[j + 14]) +
2 * (BooleanToByte(PixelArray[j + 15]) +
2 * (BooleanToByte(PixelArray[j + 16]) +
2 * (BooleanToByte(PixelArray[j + 17]) +
2 * (BooleanToByte(PixelArray[j + 18]) +
2 * (BooleanToByte(PixelArray[j + 19]) +
2 * (BooleanToByte(PixelArray[j + 20]) +
2 * (BooleanToByte(PixelArray[j + 21]) +
2 * (BooleanToByte(PixelArray[j + 22]) +
2 * BooleanToByte(PixelArray[j + 23])))))))))))))))))))))));
Form1.Image1.Canvas.Pixels[
Round(i mod 800),
Round(i div 800)]:= colorot;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled then begin
Timer1.Enabled:= not Timer1.Enabled;
Button1.Caption:= 'Continue';
end else begin
Timer1.Enabled:= not Timer1.Enabled;
Button1.Caption:= 'FREEZE';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SaveDialog1.Execute;
Image1.Picture.Bitmap.SaveToFile(SaveDialog1.FileN ame);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
PixelArrayOnScreen;
UpOne(1);
end;
end.
interesno mi beshe kako so ova se svrzuvaat "god is a painter" ss "god is arc i mad matical variant maker". informatikata e brak megju pismenost i matematika. matematikata e vo srzhta na site urachunlivi disciplini. tebe ne ti znachi ama mene da... ako gi svrtam site kombinacii mozhe i kje ja dobijam natasha naslikana na 69 godini pa koga kje i recha eve kako ti togaj ona kje reche bre kako moeshe ili josh bolje slikata sho mi ja dade a i ja vrativ kje moit da si ja vrata pak kaj mene. slikata e dokaz vo mnogu sudski sluchaevi ako ja imash lepezata od site mozhni togaj mozhesh sve da fiktikuvash.
inaku go napraiv algoritmot enego trcha po peceto ama kje mi treba cela vechnost za eden poln ciklus.
guess it takes 256^3 x 800 x 600 = 805306368E12 for-next-blocks per cycle so if block takes sec then cycle lasts /3600 /24 /365.25 =255186.1891 years
unit mainunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TMyArray = array[1..360000 * 32] of Boolean;
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
PixelArray: TMyArray;
implementation
{$R *.dfm}
procedure UpOne(i: Integer);
begin
if i <= 360000 * 32 then begin
if not PixelArray[i] then begin
PixelArray[i]:= True;
end else begin
PixelArray[i]:= False;
UpOne(i + 1);
end;
end;
end;
function BooleanToByte(x: Boolean): Byte;
begin
Result:= 0; if x = True then Result:= 1;
end;
procedure PixelArrayOnScreen;
var
i, j, colorot: Integer;
begin
for i:= 1 to 360000 * 32 do begin
j:= i div 24 + i mod 24;
colorot:=
BooleanToByte(PixelArray[j + 00]) +
2 * (BooleanToByte(PixelArray[j + 01]) +
2 * (BooleanToByte(PixelArray[j + 02]) +
2 * (BooleanToByte(PixelArray[j + 03]) +
2 * (BooleanToByte(PixelArray[j + 04]) +
2 * (BooleanToByte(PixelArray[j + 05]) +
2 * (BooleanToByte(PixelArray[j + 06]) +
2 * (BooleanToByte(PixelArray[j + 07]) +
2 * (BooleanToByte(PixelArray[j + 08]) +
2 * (BooleanToByte(PixelArray[j + 09]) +
2 * (BooleanToByte(PixelArray[j + 10]) +
2 * (BooleanToByte(PixelArray[j + 11]) +
2 * (BooleanToByte(PixelArray[j + 12]) +
2 * (BooleanToByte(PixelArray[j + 13]) +
2 * (BooleanToByte(PixelArray[j + 14]) +
2 * (BooleanToByte(PixelArray[j + 15]) +
2 * (BooleanToByte(PixelArray[j + 16]) +
2 * (BooleanToByte(PixelArray[j + 17]) +
2 * (BooleanToByte(PixelArray[j + 18]) +
2 * (BooleanToByte(PixelArray[j + 19]) +
2 * (BooleanToByte(PixelArray[j + 20]) +
2 * (BooleanToByte(PixelArray[j + 21]) +
2 * (BooleanToByte(PixelArray[j + 22]) +
2 * BooleanToByte(PixelArray[j + 23])))))))))))))))))))))));
Form1.Image1.Canvas.Pixels[
Round(i mod 800),
Round(i div 800)]:= colorot;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled then begin
Timer1.Enabled:= not Timer1.Enabled;
Button1.Caption:= 'Continue';
end else begin
Timer1.Enabled:= not Timer1.Enabled;
Button1.Caption:= 'FREEZE';
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SaveDialog1.Execute;
Image1.Picture.Bitmap.SaveToFile(SaveDialog1.FileN ame);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
PixelArrayOnScreen;
UpOne(1);
end;
end.
interesno mi beshe kako so ova se svrzuvaat "god is a painter" ss "god is arc i mad matical variant maker". informatikata e brak megju pismenost i matematika. matematikata e vo srzhta na site urachunlivi disciplini. tebe ne ti znachi ama mene da... ako gi svrtam site kombinacii mozhe i kje ja dobijam natasha naslikana na 69 godini pa koga kje i recha eve kako ti togaj ona kje reche bre kako moeshe ili josh bolje slikata sho mi ja dade a i ja vrativ kje moit da si ja vrata pak kaj mene. slikata e dokaz vo mnogu sudski sluchaevi ako ja imash lepezata od site mozhni togaj mozhesh sve da fiktikuvash.
inaku go napraiv algoritmot enego trcha po peceto ama kje mi treba cela vechnost za eden poln ciklus.