function diff(a1, a2) {
return a1.concat(a2).filter(function(val, index, arr){
return arr.indexOf(val) === arr.lastIndexOf(val);
});
}
Объединение обоих массивов, уникальные значения появятся только один раз, поэтому indexOf () будет таким же, как lastIndexOf ().
Вы должны иметь возможность преобразовать контекст, используя что-то вроде следующего:
CGContextSaveGState(bitmapContext);
CGContextTranslateCTM(bitmapContext, 0.0f, originalImage.size.height);
CGContextScaleCTM(bitmapContext, 1.0f, -1.0f);
// Draw here
CGContextDrawImage(bitmapContext, CGRectMake(0, 0, originalImage.size.width, originalImage.size.height), oImageRef);
CGContextRestoreGState(bitmapContext);
Перевод может не требоваться для рисования изображения, но он мне понадобился, когда я хотел нарисовать перевернутый текст . Если это единственное, что вы будете делать в контексте, вы также можете избавиться от вызовов для сохранения и восстановления состояния контекста.