• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: CALayer Border, Not Inset
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CALayer Border, Not Inset


  • Subject: Re: CALayer Border, Not Inset
  • From: "Bridger Maxwell" <email@hidden>
  • Date: Mon, 7 Jan 2008 13:17:29 -0700

Thanks Scott, but that is not quite what I am looking for.  That solution
would normally be fine, but I need to be able to resize the CALayer with the
picture displayed in it.  Is there a way to tell the image within it to
resize, but not fill the whole bounds?

  Thank You,
    Bridger Maxwell

On Jan 7, 2008 11:43 AM, Scott Anguish <email@hidden> wrote:

>
> On Jan 7, 2008, at 1:39 PM, Bridger Maxwell wrote:
>
> > Hello,
> >  RIght now I am making a Core Animation program that displays
> > photos.  This
> > is the code I use to draw the image (inside the CALayer), along with a
> > slightly transparent black background and a white border.
> >
> > - (void) setImage: (CGImageRef)image bounds: (CGRect)rect
> > {
> >    self.contents = (id) image;
> >    self.contentsGravity = @"resize";
> >    self.minificationFilter = kCAFilterLinear;
> >    self.bounds = rect;
> >    CGFloat border = MAX(CGRectGetHeight(rect),CGRectGetWidth(rect));
> >    border /= 60;
> >    self.borderWidth = border;
> >    self.borderColor = CGColorGetConstantColor(kCGColorWhite);
> >    CGColorRef background =  CGColorGetConstantColor(kCGColorBlack);
> >    background = CGColorCreateCopyWithAlpha(background,0.8);
> >    self.backgroundColor = background;
> > }
> >
> > The only problem is that the border is drawn over the image, because
> > it is
> > drawn inset from the bounds, and the contents of the layer go right
> > to the
> > edge.  Is there a way to either have the image draw itself a little
> > ways out
> > from the bounds (to leave room for a border) or to draw the border
> > outset
> > from the bounds?  I suppose I could make another layer within this
> > one to
> > hold the image, but being a new Cocoa programmer I am a little
> > worried about
> > making my program any more complicated than it needs to be.
>
> if you simply make the layer bounds a bit larger, and set the display
> mode so that it doesn't stretch the picture that should work.
>
>
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: CALayer Border, Not Inset
      • From: Scott Anguish <email@hidden>
    • Re: CALayer Border, Not Inset
      • From: David Duncan <email@hidden>
References: 
 >CALayer Border, Not Inset (From: "Bridger Maxwell" <email@hidden>)
 >Re: CALayer Border, Not Inset (From: Scott Anguish <email@hidden>)

  • Prev by Date: [Meeting] Toronto CocoHeads / tacow meeting tomorrow
  • Next by Date: Core Data: case insensitive "equals" predicate strings!?
  • Previous by thread: Re: CALayer Border, Not Inset
  • Next by thread: Re: CALayer Border, Not Inset
  • Index(es):
    • Date
    • Thread