मेरे पास UIImageView UIImage के साथ है। मैं इन तस्वीरों की एक प्रति दो चरों को असाइन करना चाहता हूं। उपयोगकर्ता जो छवि कर रहा है उसके आधार पर छेड़छाड़ की जानी चाहिए। समस्या यह है कि छवि प्रत्येक चर में समान है। मुझे लगता है, क्योंकि वे संदर्भ द्वारा पारित कर रहे हैं।यूआईएममेज की प्रतिलिपि कैसे करें?
let image1 = imageView.image!
let image2 = imageView.image!
मुझे इस छवि की दो अलग-अलग प्रतियां कैसे प्राप्त होंगी?
धन्यवाद!
संपादित करें:
मैं क्या हासिल करना चाहते हैं: बस एक चित्र काटने के लिए, मूल जैसे अन्य रहते हैं।
let imageLeft = googleImageView.image!
let imageRef = CGImageCreateCopy(googleImageView.image!.CGImage)
let imageRight = UIImage(CGImage: imageRef!, scale: googleImageView.image!.scale, orientation: googleImageView.image!.imageOrientation)
if translation.x < 0 {
let scale = imageLeft.scale
let newRect = CGRectMake(0, 0, (imageLeft.size.width + translation.x) * scale, imageLeft.size.height * scale)
let imageRef = CGImageCreateWithImageInRect(imageLeft.CGImage, newRect)
if let croppedImage = imageRef {
googleImageView.image = UIImage(CGImage: croppedImage, scale: scale, orientation: imageLeft.imageOrientation)
}
}
print("left image: \(imageLeft) right image \(imageRight)")
कंसोल के लिए प्रिंट उपरोक्त कोड:
left image: <UIImage: 0x7fd020dca070>, {111, 167}
right image <UIImage: 0x7fd020dda430>, {111, 167}
left image: <UIImage: 0x7fd020df9ba0>, {110, 167}
right image <UIImage: 0x7fd020d45670>, {110, 167}
... और इतने पर। तो, दोनों छवियों को एक नया आकार मिलता है। केवल बाएं छवि फसल होनी चाहिए।
http://stackoverflow.com/a/6770387/3324388 – Aggressor