- #1
Echilon1
- 2
- 0
I'm drawing a scene with, trying to size my font correctly. I have both a big and small version of the layer on the screen at the same time.
I want to set the font in a label on this layer (both the thumbnail and the full size version) to, for example, size 30. This works fine for the full size layer (call it ratio 1), but if I make the thumbnail 1/3 as big, how do I calculate that the font should be 1/3 as big? I can't get the logic right despite multiplying these numbers all ways.
The properties which the user can change are:
- Font size (pts)
- Thumbnail size (px wide)
To position the label correctly I'm using this (which works):
To determine the right font size, I've tried, among other variants, this (to no avail):
The idea is that if I pass in a `parentSize`, to calculate the relative font size. The 'default' size should be as big as 30px in a 100px wide layer. If I have a layer 200px wide, it should return 60 if the user sets the font at size 30.
I want to set the font in a label on this layer (both the thumbnail and the full size version) to, for example, size 30. This works fine for the full size layer (call it ratio 1), but if I make the thumbnail 1/3 as big, how do I calculate that the font should be 1/3 as big? I can't get the logic right despite multiplying these numbers all ways.
The properties which the user can change are:
- Font size (pts)
- Thumbnail size (px wide)
To position the label correctly I'm using this (which works):
Code:
// 'element' is the customizable element. element.location is the percentage across the layer where it's located. Eg: 50 is half way
CGPoint relativeCoords = ccp (self.contentSize.width/(100/element.location.x),
self.contentSize.height/(100/element.location.y));
layer.position = relativeCoords;
To determine the right font size, I've tried, among other variants, this (to no avail):
Code:
-(void)sizeToRelative(CGSize)parentSize {
// self.lbl is the layer within my element
CGFloat ratioWidth = (parentSize.width/100);
CGFloat ratioFontSize = (textEle.textProperties.fontSize/100)*(1/3)*(parentSize.width/100);
[self.lbl setFontSize:ratioFontSize*element.textProperties.fontSize];
The idea is that if I pass in a `parentSize`, to calculate the relative font size. The 'default' size should be as big as 30px in a 100px wide layer. If I have a layer 200px wide, it should return 60 if the user sets the font at size 30.