0

Quarkee というアプリを使用して、ロゴを SVG から Quartz 2d コードに変換しています。唯一の問題は、結果のサイズを変更する方法がわからないことです。UIView のフレームを設定すると、drawRect の結果がフレーム内に巨大なままになります。設定しているフレームのサイズを取得するにはどうすればよいですか?

アウトの例を以下に示します。

誰か助けてくれませんか?

- (void)drawRect:(CGRect)rect
{

CGContextRef context = UIGraphicsGetCurrentContext();
CGColorSpaceRef colorspace_1 = CGColorSpaceCreateDeviceRGB();
CGFloat components_1[] = {0.9961,0.9961,0.9961, 1.0000};
CGColorRef color_1 = CGColorCreate(colorspace_1, components_1);
CGContextSetFillColorWithColor(context,color_1);

CGContextMoveToPoint(context, 0.4960,0.1090);
CGContextAddLineToPoint(context,662.9260,0.1090);
CGContextAddLineToPoint(context,662.9260,227.8780);
CGContextAddLineToPoint(context,0.4960,227.8780);
CGContextAddLineToPoint(context,0.4960,0.1090);
CGContextClosePath(context);


CGContextFillPath(context);
4

2 に答える 2

1

ここでの解決策は、view.transform = CGAffineTransformMakeScale(0.5f, 0.5f); を使用することでした。ビューのサイズを変更するには

于 2012-06-30T17:04:16.440 に答える
0

これらの値を見てください。

CGContextMoveToPoint(context, 0.4960,0.1090);
CGContextAddLineToPoint(context,662.9260,0.1090);
CGContextAddLineToPoint(context,662.9260,227.8780);
CGContextAddLineToPoint(context,0.4960,227.8780);
CGContextAddLineToPoint(context,0.4960,0.1090);

drawRectメソッドが呼び出されると、ビューの現在の四角形を取得し、それに応じてそれらの値を調整するために使用できますself.bounds。アプリケーションからこのコードを生成したと言う - それらのアプリは通常、コードを生成するときに、描画したグラフィックスのサイズをハードコードするため、これらの値と描画した画像の実際のサイズとの関係を確認する必要があります。self.boundsサイズに応じて動的にする...

于 2012-06-23T15:17:30.833 に答える