Avatar billede psycosoft-funware Nybegynder
15. august 2005 - 10:11 Der er 7 kommentarer og
1 løsning

omdanne et billede til koordinatsystem

hej eksperter
er der nogen her, der ved om det er mulig at omdanne et .jpg eller .bmp billede til koordinatsystem.
det skal bruges til et usb interface jeg har bygget, det skal styrer en dremmel, så man f.eks kan få ridset et manga billede i sin kabinet side.
Avatar billede x4all_dk Nybegynder
15. august 2005 - 15:05 #1
Jeg er ikke helt sikker på hvad du mener, men man kan indlæse et billede (.bmp) og så smide "farve-koderne" for hver pixel i billedet ind i en matrix (2dim-array). Og så kan du jo gøre hvad du vil med dem. 

Men du må lige præciserer dit spørgsmål.
Avatar billede psycosoft-funware Nybegynder
16. august 2005 - 09:20 #2
udtrække linjerne i billedet så man kan fræse fx. en manga figur i plexi glas. men det er vel nemmere når billbede er monokromt (sort/hvid).
Avatar billede x4all_dk Nybegynder
16. august 2005 - 11:21 #3
Hvordan du vil udtrække 'linier' fra et billede ved jeg ikke, men på www.xnview.com findes der nogle gratis grafik-ting som måske kan lave det. Ellers må du spørge om det i en grafik-kategori her på Eksperten hvordan man konverterer et billede til 'omdridset' af det.

Når du har dit 'omrids.bmp' så kan du klare resten i Delphi ved at læse pixel for fixel ind i et x,y koordinat system.
Avatar billede psycosoft-funware Nybegynder
16. august 2005 - 13:26 #4
x4all dk --> har du en stump kode til at læse pixel for pixel ind i et koordinat system x, y, z - hvor z angives af bruger :-)
Avatar billede x4all_dk Nybegynder
16. august 2005 - 13:46 #5
Jeg bruger Image1.Picture.Bitmap.Scanline[y] til at loade et billede ind
i et 2dim array.

Her er et eksempel på noget kode, det skal nok lige tilpasses... men jeg
håber du fanger ideen. Så du selv kan smide farvekoderne ind i dit array.

procedure TForm1.Button2Click(Sender: TObject);
var
  x,y  : Integer;
  Line : PRGB32Array;
begin
  Image1.Picture.Bitmap.LoadFromFile('test.bmp');

  with Image1.Picture.Bitmap do
  begin
    PixelFormat := pf32bit;
    Width := Image1.Width;
    Height := Image1.Height;

    for y := 0 to Height - 1 do
    begin
        Line := Scanline[y];
        for x := 0 to Width - 1 do
        begin
        Line[x].R := 10;
        Line[x].G := 10;
        Line[x].B := 10);
        Line[x].A := 0;  // Alpha Channel - transparency.
        end;
    end;
    Image1.Invalidate;
  end;
end;


Der findes en del grafikkode til Delphi her:
http://www.swissdelphicenter.ch/torry/grafik.php
Avatar billede psycosoft-funware Nybegynder
30. august 2005 - 14:07 #6
x4all_dk --> i delphi 7.0 eksitere der IKKE en PRGB32Array kun en PByteArray, kan du løse den? :-)
Avatar billede x4all_dk Nybegynder
31. august 2005 - 08:11 #7
Jeg anvender selv delphi 7.0, og det virker det fint i. (jeg har lige dobbelt checket)


Ellers.. det eneste jeg lige kan komme på er om du skal bruge en ekstra "uses"

Under Uses anvender jeg: uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, Math, jpeg, Menus, ComCtrls;
Avatar billede psycosoft-funware Nybegynder
31. august 2005 - 09:21 #8
derfor, jeg har ikke math og jpeg i uses listen... vil lige lege lidt med det... :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester