Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko slike... HITNO

[es] :: Pascal / Delphi / Kylix :: Pomoc oko slike... HITNO

[ Pregleda: 685 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cassey
Andreja Ilic
Nis

Član broj: 57788
Poruke: 182
212.200.10.*



Profil

icon Pomoc oko slike... HITNO19.04.2006. u 16:22

Evo macujem se ceo da i nikako da provalim. Dakle, imam sliku (.gif .jpg sve jedno) rezolucije n x m. Zelim da procitam svaki pixel sa nje i od toga napravim matricu gde ce polje a [i,j] = x, tako da je pixel sa kordinatama i,j boje x.
A drugo pitanje kako to da napravim obrnuto (od matrice da napravim sliku)?


Math is like love. A simple idea but it can get complicated.
19.04.2006. u 16:22 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1401
82.208.201.*

ICQ: 246436949


Profil

icon Re: Pomoc oko slike... HITNO19.04.2006. u 17:59
Da li si pogledao Pixels property TBitmap klase? Mislim da bi ti oni sasvim lepo posluzili svrsi jer rade bas to sto ti treba.
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
19.04.2006. u 17:59 

cassey
Andreja Ilic
Nis

Član broj: 57788
Poruke: 182
212.200.10.*



Profil

icon Re: Pomoc oko slike... HITNO19.04.2006. u 19:14
Da sve je to lepo ali ja nista ne znam o tome. Aj ako mozes pogledaj to potrebno mi je hotno. Sutra putujem u Madjarsku na neko takm pa su neki zadaci ovog tipa (kada ja to ocuitam onda ide ono sto ja znam ali mi je ovo problem)...
Math is like love. A simple idea but it can get complicated.
19.04.2006. u 19:14 

ntojzan
Sandor II Tojzan
5digistar Inc.
Kobe city

Član broj: 36657
Poruke: 165
*.bbtec.net.

Sajt: www.5digistar.co.jp


Profil

icon Re: Pomoc oko slike... HITNO20.04.2006. u 19:14
Pa zapravo Pixels radi dosta sporo.

Ono sto bih ja preporucio jeste nesto ovako:

Code:

type
  TPixelArray = Array of Array of Integer;

procedure ImageToPixelArray(Image: TImage; PixelArray: TPixelArray);
var
  Bitmap: TBitmap;
  ScanLine: PIntegerArray;
  X, Y: Integer;
begin
  Bitmap := TBitmap.Create;
  Bitmap.Assign(Image.Picture.Graphic);
  Bitmap.PixelFormat := pf32bit;
  SetLength(PixelArray, 0);
  SetLength(PixelArray, Bitmap.Height, Bitmap.Width);
  for Y := 0 to Bitmap.Height - 1 do
  begin
    ScanLine := Bitmap.ScanLine[Y];
    for X := 0 to Bitmap.Width - 1 do
      PixelArray[Y, X] := ScanLine[X];
  end;
  Bitmap.Free;
end;

procedure PixelArrayToImage(Image: TImage; PixelArray: TPixelArray);
var
  Bitmap: TBitmap;
  ScanLine: PIntegerArray;
  X, Y: Integer;
begin
  Bitmap := TBitmap.Create;
  Bitmap.PixelFormat := pf32bit;
  Bitmap.Height := Length(PixelArray);
  Bitmap.Width := Length(PixelArray[0]);
  for Y := 0 to Bitmap.Height - 1 do
  begin
    ScanLine := Bitmap.ScanLine[Y];
    for X := 0 to Bitmap.Width - 1 do
      ScanLine[X] := PixelArray[Y, X];
  end;
  Image.Picture.Assign(Bitmap);
  Bitmap.Free;
end;


[Ovu poruku je menjao ntojzan dana 20.04.2006. u 20:17 GMT+1]
20.04.2006. u 19:14 

[es] :: Pascal / Delphi / Kylix :: Pomoc oko slike... HITNO

[ Pregleda: 685 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.