WieauchImmer23
Cadet 1st Year
- Registriert
- Aug. 2013
- Beiträge
- 15
So, ich habe hier irgendwo einen dummen Fehler drin, denn ich seit zwei Stunden suche und bin nicht in der Lage ihn zu finden.
Ich habe zwei Bilder übereinandergelegt.
Wenn ich auf das topBild wische dann werden diese Positionen ausgeschnitten. Sodass dass untere dort durchleuchtet.
Daher ist es relevant wie die Bilder angeordnet sind.
Ich habe zwei Buttons, womit ich eben das Bild ändern kann oder wieder zurückändern.
Ich erstelle während des ladens des benötigten Bildes eine veränderte Version, von der ich übernehme.
Mein Problem:
Wenn ich ein Bild lade und BTN A drücke wird korrekterweise, das geänderte Bild als top angezeigt und das Originale darunter. Also wenn ich darüberfahre, passt alles. Die Werte vom originalen Bild werden in das geänderte kopiert. Dieses Bild nenne ich dann temp.
Wenn ich ein Bild lade und BTN B drücke wird, das geänderte Bild unten angezeigt und das originale oben, passt.
Die FUnktion wird auch korrekt ausgeführt. Dieses Bild(welches nun in der topView ist) nenne ich dann temp.
Wenn ich jetz aber eins von den beiden oben gemacht habe und danach den jeweils anderen BTN drücke erhalte ich temp als top (passt) und unten ist genau das verkehrte (das gegenteilige was ich oben beschrieben habe).
Wenn ich dann wieder auf den anfänglichen BTN drücke funktioniert es wieder.
Mein Vorgehen sieht so aus:
Okay, villeicht versteht mans jetzt von meiner Erklärung nicht so wirklich aber das ist halt alles was es machen soll und die Bilder sind vertauscht. Und beim Code ist auch nicht mehr dabei.
EDIT:
Boah jetzt bin ich aber am Schlauch gestanden. Die anordnung von den Bildern passt ja.
WIE kann ich die Positionen, die ich aus einem Bild ausgeschnitten habe auf ein anderes übertragen?
sagen wir ich habe ein blaues und rotes Bild.
Wenn ich BTN A drücke ist rot vorne. Das heißt wenn ich da was ausschneide leuchtet blau durch, gut.(temp) Wenn ich dann auf B drücke ist rot hinten und temp noch vorne. Das Problem ist aber, dass ja temp anfangs rot war und wenn ich da dann wieder was ausschneide, das rote von unten durchscheint.
Also wie kann ich die Werte wirklich kopieren? Zudem will ich es auch noch speichern. Und wenn ich das jetzt mache, habe ich nur ein Bild mit weiß dazwischen.
Ausschneiden tu ich den Teil mit:
Damit schneide ich eben denn angeklickten Bereich aus.
Jetzt würde ich gerne diesen Path nehmen und damit vom darunterliegenden Bild ausschneiden und im oberen einfügen.
Ich habe mit CopyPath,DrawPath, AddPath herumgspielt aber nichts funktioniert, jemand eine Idee?
Ich habe zwei Bilder übereinandergelegt.
Wenn ich auf das topBild wische dann werden diese Positionen ausgeschnitten. Sodass dass untere dort durchleuchtet.
Daher ist es relevant wie die Bilder angeordnet sind.
Ich habe zwei Buttons, womit ich eben das Bild ändern kann oder wieder zurückändern.
Ich erstelle während des ladens des benötigten Bildes eine veränderte Version, von der ich übernehme.
Mein Problem:
Wenn ich ein Bild lade und BTN A drücke wird korrekterweise, das geänderte Bild als top angezeigt und das Originale darunter. Also wenn ich darüberfahre, passt alles. Die Werte vom originalen Bild werden in das geänderte kopiert. Dieses Bild nenne ich dann temp.
Wenn ich ein Bild lade und BTN B drücke wird, das geänderte Bild unten angezeigt und das originale oben, passt.
Die FUnktion wird auch korrekt ausgeführt. Dieses Bild(welches nun in der topView ist) nenne ich dann temp.
Wenn ich jetz aber eins von den beiden oben gemacht habe und danach den jeweils anderen BTN drücke erhalte ich temp als top (passt) und unten ist genau das verkehrte (das gegenteilige was ich oben beschrieben habe).
Wenn ich dann wieder auf den anfänglichen BTN drücke funktioniert es wieder.
Mein Vorgehen sieht so aus:
Code:
lade Bild -> erstelle verändertes Bild "copied"
-(IBAction)BTNA{
if(temp==nil)topview.image=copied else topView=temp;
underView.image=original;
}
-(IBAction)BTNB{
if(temp!=nil)topview.image=temp else topView=original;
underView.image=copied;
}
()touchesmoved {
*workIMG;
if(temp==nil)workImg=topView.image;
if(temp!=nil)workImg=tempImg;
//"kopierfunktion" auf workImg und zwar mit cgcontextclip
erstelle temp vom Context
topView=temp;
}}
Okay, villeicht versteht mans jetzt von meiner Erklärung nicht so wirklich aber das ist halt alles was es machen soll und die Bilder sind vertauscht. Und beim Code ist auch nicht mehr dabei.
EDIT:
Boah jetzt bin ich aber am Schlauch gestanden. Die anordnung von den Bildern passt ja.
WIE kann ich die Positionen, die ich aus einem Bild ausgeschnitten habe auf ein anderes übertragen?
sagen wir ich habe ein blaues und rotes Bild.
Wenn ich BTN A drücke ist rot vorne. Das heißt wenn ich da was ausschneide leuchtet blau durch, gut.(temp) Wenn ich dann auf B drücke ist rot hinten und temp noch vorne. Das Problem ist aber, dass ja temp anfangs rot war und wenn ich da dann wieder was ausschneide, das rote von unten durchscheint.
Also wie kann ich die Werte wirklich kopieren? Zudem will ich es auch noch speichern. Und wenn ich das jetzt mache, habe ich nur ein Bild mit weiß dazwischen.
Ergänzung ()
Ausschneiden tu ich den Teil mit:
Code:
CGPathRef path=CreatePath(xxxx);
UIGraphicsBeginImageContext(img.size);
CGContextRef c=UIGraphicsGetCurrentContext();
CGContextAddPath(c,path);
CGContextClip(c);
CGContextClearRectc(c,rect...);
newimg=UIGraphicsGetImageFromContext();
Damit schneide ich eben denn angeklickten Bereich aus.
Jetzt würde ich gerne diesen Path nehmen und damit vom darunterliegenden Bild ausschneiden und im oberen einfügen.
Ich habe mit CopyPath,DrawPath, AddPath herumgspielt aber nichts funktioniert, jemand eine Idee?
Zuletzt bearbeitet: