Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bild in 15 Teile zerschneiden (https://www.delphipraxis.net/148697-bild-15-teile-zerschneiden.html)

xxsasch4xx 6. Mär 2010 16:06


Bild in 15 Teile zerschneiden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, ich bin grade dabei ein Bildschirmpuzzle in Delphi zu programmieren.
Manuell habe ich 15 Teile eines großen Bildes in die Image's reingemacht
mit hilfe des weissen Bildes kann man Bilder tauschen.

Mein Problem: Ich will dem Benutzer des Programms die Möglichkeit geben, dass er selbst ein Bild laden kann über den Button "Bild laden."
Das Bild soll dann in 15 gleich große Quadrate geschnitten werden und in die 15 Image Felder eingefügt werden, aber nicht da wo das weisse image schon drin ist, den das wird ja gebraucht um zu tauschen.

Im Anhang ist ein screenshot des Programms.

Matze 6. Mär 2010 16:15

Re: Bild in 15 Teile zerschneiden
 
Hallo,

wenn du nach [dp]Bilder zerhackstückeln[/dp] gesucht hättest ... :mrgreen:

Ich habe früher mal sowas ähnliches gemacht. Vielleicht hilft es dir weiter: Picture Shredder - Bilder zerhackstückeln

Edit: Dein Bild muss natürlich in 16 Quadrate zerteilt werden, nicht in 15. Das erste Quadrat musst du entfernen und - wenn das Puzzle gelöst ist - ggf. an der fehlenden Stelle wieder einfügen.

xxsasch4xx 6. Mär 2010 16:39

Re: Bild in 15 Teile zerschneiden
 
irgentwie kommen bei mir zich fehlermeldungen wenn ich das programm starten will

Matze 6. Mär 2010 16:45

Re: Bild in 15 Teile zerschneiden
 
Das Programm ist von 2006, müsste aber schon noch funktionieren.
Wenn du die Delphi-Version und die Fehlermeldungen noch nennen würdest könnte man dir helfen. So habe ich nicht den Eindruck, dass du Hilfe möchtest und ich keine Lust zu helfen.

xxsasch4xx 6. Mär 2010 16:53

Re: Bild in 15 Teile zerschneiden
 
ok jetzt hats geklappt aber ich weiss nicht wie mir dein programm bei meinem problem helfen kann :mrgreen:

DeddyH 6. Mär 2010 16:59

Re: Bild in 15 Teile zerschneiden
 
Du hast eine Grafik und willst die in 16 (annähernd) gleich große Quadrate zerlegen, oder? Wenn ich das richtig verstanden habe, macht Matzes Programm genau das.

xxsasch4xx 6. Mär 2010 17:16

Re: Bild in 15 Teile zerschneiden
 
ich bekomm das so net hin

Matze 6. Mär 2010 17:25

Re: Bild in 15 Teile zerschneiden
 
Dann ist das vielleicht eine zu schwere Aufgabe für dich und du solltest mit etwas leichterem beginnen.

xxsasch4xx 6. Mär 2010 18:01

Re: Bild in 15 Teile zerschneiden
 
kann ich dir vieleicht mein programm schicken das du mir das kurz machen kannst wie ich das meine?

Matze 6. Mär 2010 18:04

Re: Bild in 15 Teile zerschneiden
 
Nein, das mache ich nicht.

xxsasch4xx 6. Mär 2010 18:06

Re: Bild in 15 Teile zerschneiden
 
lol

Matze 6. Mär 2010 18:11

Re: Bild in 15 Teile zerschneiden
 
Wenn du wirklich Hilfe willst, dann bemühe dich selbst und zeige, wie du es versucht und wo genau du nicht weiterkommt. Ohne Eigeninitiative geht hier gar nichts.
Und deine "Kurzbeiträge" bringen keinem etwas.

xxsasch4xx 6. Mär 2010 18:15

Re: Bild in 15 Teile zerschneiden
 
also bei mir kommt eine fehlermeldung (bei bild laden) bei

Delphi-Quellcode:
 MyPicBmp.LoadFromFile(FileName);
undefinierter bezeichner mypicbmp
ich hab bmp bei dir im quelltext schon gesucht aber ich hab da keine funtkion oder so gefunden

DeddyH 6. Mär 2010 18:32

Re: Bild in 15 Teile zerschneiden
 
Wie sieht denn Dein aktueller Code aus?

[edit] Oder versuchen wir es auf dem logischen Weg, dann kannst Du es selbst versuchen: Du hast eine Bitmap und willst diese nun in 16 Teilbitmaps aufteilen. Das ergibt dann 4 Zeilen und 4 Spalten (das ließe sich prima in einem 2-dimensionalen Array ablegen), die Größe jeder Teilbitmap ist demzufolge Höhe und Breite der Originalbitmap jeweils geteilt durch 4. Mit TCanvas.CopyRect kannst Du einen rechteckigen Bereich von einer Zeichenfläche in eine andere kopieren. Was Du nun noch zu tun hast, ist, die jeweiligen Koordinaten des Quellrechtecks der Originalbitmap auszurechnen. Wenn Du Dir vorher ganz altmodisch Stift und ein Stück Papier hernimmst und Dir das aufzeichnest, ist die Lösung zum Greifen nahe, nur Mut. [/edit]

xxsasch4xx 6. Mär 2010 19:24

Re: Bild in 15 Teile zerschneiden
 
aber warum den geteilt durch 4 wenn ich 16 verschiedene teil bitmans haben will dann müsste es doch durch 16 sein oder nicht?

Namenloser 6. Mär 2010 19:31

Re: Bild in 15 Teile zerschneiden
 
Code:
.,----> Beitrag (erneut) lesen
/                  |
|        Über das Geschriebene
|              nachdenken
|                  |
|              Verstanden?
|        Nein /           \ Ja
|____________/             |
                     Idee umsetzen
                           |
                     Antwort posten

Muellermilchtrinker 6. Mär 2010 19:33

Re: Bild in 15 Teile zerschneiden
 
Sehr gute Grafik :stupid:

SimonRap 6. Mär 2010 19:41

Re: Bild in 15 Teile zerschneiden
 
so schwer is die matheaufgabe nich: 4*4=?

Matze 7. Mär 2010 08:33

Re: Bild in 15 Teile zerschneiden
 
Zitat:

Zitat von xxsasch4xx
also bei mir kommt eine fehlermeldung (bei bild laden) bei

Delphi-Quellcode:
 MyPicBmp.LoadFromFile(FileName);
undefinierter bezeichner mypicbmp
ich hab bmp bei dir im quelltext schon gesucht aber ich hab da keine funtkion oder so gefunden

Ich glaube dir kein Wort. Strg+F "MyPicBmp" eingeben, Enter drücken und staunen:

Delphi-Quellcode:
var
// Internal bitmap
MyPicBmp: TBitmap;

// ...

procedure TFrmMain.FormCreate(Sender: TObject);
begin
  MyPicBmp := TBitmap.Create;

// ...

procedure TFrmMain.FormDestroy(Sender: TObject);
begin
  FreeAndNil(MyPicBmp);
end;

xxsasch4xx 12. Mär 2010 16:55

:shock:

Matze 12. Mär 2010 17:29

Zitat:

Zitat von xxsasch4xx
:shock:

Was willst du uns damit sagen? Heißt das nun, dass du's verstanden hast oder bist du schockiert, weil es dir kompliziert erscheint?

Ist letzteres der Fall, dann fange mit einem einfacheren Projekt an. Das hier ist dann für dich zu anspruchsvoll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz