Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
remote
Threadersteller
Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht:
|
Verfasst Fr 30.11.2007 00:21
Titel array stückweise umkehren |
|
|
eigentlich ein ganz simples ding - aber irgendwie stell ich mich ein bischen (arg) blöd an.
Ich versuche einen Array der ein Bild (1024x768 Pixel) beinhaltet umzudrehen - allerdings nicht komplett, sondern häppchenweise.
Code: |
sa[] = { "A 1 ", "A 2 ", "A 3 ", "A 4 ", "B 1", "B 2 ", "B 3 ", "B 4 ", "C 1", "C 2 ", "C 3 ", "C 4 "};
// soll nach der Schleife so aussehen:
newSa[] = { "A 4 ", "A 3 ", "A 2 ", "A 1 ", "B 4", "B 3 ", "B 2 ", "B 1 ", "C 4", "C 3 ", "C 2 ", "C 1 "};
|
optisch:
Code: |
A1 A2 A3 A4
B1 B2 B3 B4
C1 C2 C3 C4
|
=>
Code: |
A4 A3 A2 A1
B4 B3 B2 B4
C4 C3 C2 C1
|
Vorab herzlichen Dank für den Zaunpfahl
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 30.11.2007 06:17
Titel
|
|
|
Mach doch ein assoziatives Array draus.
quasi
Code: |
Array[A][0],Array[A][1],Array[A][2]
Array[B][0],Array[B][1],Array[B][2]
Array[C][0],Array[C][1],Array[C][2]
|
Dann kannst Du ja zeilenweise ein reverse() machen.
|
|
|
|
|
Anzeige
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 30.11.2007 06:39
Titel
|
|
|
... oder aber mit array-chunk zerteilen und
dann wie FlamingArt schon meinte zeilenweise
umdrehen und am Ende wieder zusammenmergen.
|
|
|
|
|
remote
Threadersteller
Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 109
Geschlecht:
|
Verfasst Fr 30.11.2007 08:40
Titel
|
|
|
leider kein php... deswegen die schleife. es geht um processing (java).
// Mach doch ein assoziatives Array draus.
An der Struktur des ersten arrays kann ich nix ändern ...und die schleife um das ganze neu zu sortieren macht mir kopfschmerzen
Zuletzt bearbeitet von remote am Fr 30.11.2007 08:50, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 30.11.2007 09:55
Titel
|
|
|
Die Frage ist, wie sehen die Daten aus ?
|
|
|
|
|
tschifu
Dabei seit: 28.01.2003
Ort: Ingelheim
Alter: 42
Geschlecht: -
|
Verfasst Fr 30.11.2007 14:32
Titel
|
|
|
wenn processing keine mehrdimensionale Arrays unterstützen, wie kannst du dann bitte Bilder in den Speicher bzw in die Processing Umgebung laden? Da ein Bild ja aus Zeilen und Spalten besteht. Ich kann mir das schlecht vorstellen, und da Processing auf Java basiert müsste es doch möglich sein.
Wie ich sehe werden Bilder in Processing folgender Maßen geladen:
Code: |
PImage foto;
void setup() {
size(400, 400);
foto = loadImage("schmetterling.jpg");
|
Das Problem hierbei ist wohl nun, dass Processing Bilder als Objekte speichert und nicht als Array. Du müsstest mal recherchieren ob Processing Downcast machen können oder ob es in der Klasse PImage() die methode length() gibt, die dir die länge des Arrays zurückgibt. Über size(x, y) hast du eh die werte wie lang die Arrays sind. So könntest du dann ber eine Schleife die Elemente des Arrays manipulieren.
So und hier steht ja was näheres zu PImage:
processing org
wichtig ist für dich wohl:
Zitat: | Fields
width image width
height image height
pixels[] array containing the color of every pixel in the image
Methods
get() Reads the color of any pixel or grabs a rectangle of pixels
set() Writes a color to any pixel or writes an image into another |
Zuletzt bearbeitet von tschifu am Fr 30.11.2007 14:48, insgesamt 2-mal bearbeitet
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Fr 30.11.2007 15:34
Titel
|
|
|
Code: | public static void main(String[] args)
{
String sa[] = { "A 1 ", "A 2 ", "A 3 ", "A 4 ", "B 1", "B 2 ", "B 3 ", "B 4 ", "C 1", "C 2 ", "C 3 ", "C 4 "};
String formerChar = sa[0].substring(0, 1);
int swapPos = 0;
int tmpCounter = 0;
for (int i = 0; i < sa.length; i++)
{
final String actualString = sa[i];
String actualChar = actualString.substring(0, 1);
if(actualChar.equals(formerChar) && i < sa.length-1)
tmpCounter++;
else if(i == sa.length-1)
{
swapPos = i;
final String tmpArray[] = new String[tmpCounter+1];
int x = 0;
for(int j = i;swapPos-tmpCounter <= j;j--)
{
tmpArray[x] = sa[j];
x++;
}
for (int j = 0; j < tmpArray.length; j++)
{
sa[swapPos+1 - tmpArray.length + j] = tmpArray[j];
}
}
else
{
swapPos = i;
final String tmpArray[] = new String[tmpCounter];
int x = 0;
for(int j = i-1;swapPos-tmpCounter <= j;j--)
{
tmpArray[x] = sa[j];
x++;
}
for (int j = 0; j < tmpArray.length; j++)
{
sa[swapPos - tmpArray.length + j] = tmpArray[j];
}
tmpCounter = 0;
i--;
}
formerChar = actualString.substring(0, 1);
}
System.out.println(sa);
} |
Schön ist es nicht, jedenfalls nicht besonders elegant, bevor einer meckert
|
|
|
|
|
|
|
|
Ähnliche Themen |
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
[flash] Array aus PHP
[PHP] INSERT INTO ein Array
Array addieren
Array Problem
AS Array durchlaufen
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|