2013-07-20 2 views

ответ

0
public PImage getReversePImage(PImage image) { 
PImage reverse = new PImage(image.width, image.height); 
for(int i=0; i < image.width; i++){ 
    for(int j=0; j < image.height; j++){ 
    reverse.set(image.width - 1 - i, j, image.get(i, j)); 
    } 
} 
return reverse; 
} 

От http://uihacker.blogspot.com/2012/04/processing-flip-pimage-horizontally.html

+1

Да, но мне это нужно с javascript (должно быть, яснее), и есть проблема, что я должен положить это? Если я просто разместил его на настройке, после «loadImage», он, очевидно, не будет работать, поскольку исходное изображение не будет загружено. Нет никакого обратного вызова для loadImage, так что это не вариант ... – MaiaVictor

+0

js может быть медленным при обработке изображений, подумайте об использовании массива 'пикселей' и одного цикла для цикла, а не вложенного цикла –

5

Предполагая, что вы уже загрузили ваш img:

processing.draw = function() { 
    // place image 
    processing.image(img, 0, 0); 

    // flip using a matrix 
    processing.pushMatrix(); 
    processing.scale(-1.0, 1.0) 
    processing.image(img, -img.width, 0); 
    processing.popMatrix(); 
}; 

В случае необходимости, оно не должно быть слишком трудно настроить аргументы, чтобы перевернуть изображение по вертикали.

+2

, перерисовывая вверх дном, может быть быстрее, чем доступ к и писать все пиксели. +1 –