2012-07-01 8 views
6

के साथ ठोस रंग सीमा जोड़ें मैं कोर छवि के साथ एक मौजूदा छवि में ठोस रंग सीमा जोड़ने का एक तरीका ढूंढ रहा हूं। मुझे फ़िल्टर सूची संदर्भ मिला है लेकिन इसे बनाने के लिए कोई भी नहीं है।सीआईएममेज

सहायता !!

उत्तर

1

यह ठीक आप के बारे में क्या नहीं कहा है, लेकिन यह बेहतर हो सकता है अगर आप सिर्फ एक सीमा (बजाय वास्तव में यह पर एक सीमा ड्राइंग) के साथ चित्र दिखाना चाहते ...

आप उपयोग कर सकते हैं CALayer किसी भी UIView करने के लिए सीमाओं (और गोल कोनों, छाया, आदि) को जोड़ने के लिए ...

// imgView is an instance of UIImageView, but this works with any UIView 
imgView.layer.borderWidth = 2.0f; 
imgView.layer.borderColor = [[UIColor blackColor] CGColor]; 

आप भी इस काम करने के लिए QuartzCore ढांचे के लिए #import <QuartzCore/QuartzCore.h> और लिंक की जरूरत है।

+0

धन्यवाद jhabbott लेकिन यह मेरी मदद नहीं करता है। मैं छवि को संशोधित करने की कोशिश कर रहा हूं, न केवल इसके शीर्ष पर एक सीमा प्रदर्शित करता हूं। – frimoldi

2

हमें सीआईएममेज सीमा या सीजीआरईटीटी होना चाहिए जिसमें हम ठोस सीमा बनाना चाहते हैं। इससे भी, हम निर्दिष्ट क्षेत्र में एक ठोस रेखा बनाने के लिए एक सीआईएममेज खींच सकते हैं, और एक पूर्ण ठोस आयत खींचने के लिए विभिन्न स्थितियों के लिए 3 बार के लिए चरणों को दोहरा सकते हैं। कोड का टुकड़ा निम्नलिखित है जो निर्दिष्ट क्षेत्र के ऊपर एक सीधी ठोस रेखा खींच लेगा।

CIImage *overlay1 = [CIImage imageWithColor:[CIColor colorWithRed:255/255.f green:0/255.f blue:0/255.f alpha:1.00f]]; 
    overlay1 = [overlay1 imageByCroppingToRect:image.extent]; 
    overlay1 = [overlay1 imageByApplyingFilter:@"CIPerspectiveTransformWithExtent" withInputParameters:@{@"inputExtent":[CIVector vectorWithCGRect:image.extent],@"inputTopLeft":[CIVector vectorWithCGPoint:CGPointMake(topLeft.x - 5, topLeft.y + 5)],@"inputTopRight":[CIVector vectorWithCGPoint:CGPointMake(topRight.x + 5, topRight.y + 5)],@"inputBottomLeft":[CIVector vectorWithCGPoint:CGPointMake(topLeft.x - 5, topLeft.y)],@"inputBottomRight":[CIVector vectorWithCGPoint:CGPointMake(topRight.x + 5, topRight.y) ]}]; 
    overlay = [ overlay1 imageByCompositingOverImage:overlay]; 

मैंने चौड़ाई 5 पिक्सेल के लिए रखी है। topLeft, topRight .... स्थिति के लिए संबंधित CGPoint हैं। एक पूर्ण आयताकार के लिए आपको नीचे की तरफ और नीचे की ओर भी आवश्यकता होगी।

ओवरले मूल सीआईएममेज है।

+0

सुनिश्चित नहीं है कि आपको परिप्रेक्ष्य परिवर्तन की आवश्यकता क्यों है। चौड़ाई 5, 4 बार के साथ एक आयताकार के रूप में, बस लाइन पर फसल क्यों न करें। – user1055568