2

私は画像(アルファ付き)のカスタム描画を行おうとしていますが、最終的には異なる色合いを適用します。今、私はそれを正しく描こうとしています。これは単純な問題かもしれませんが、結果として画像の ALPHA が黒くなります。画像は、正しいアルファを使用して Photoshop から作成された .png です。

- (void) drawRect:(CGRect)area
{

[imgView.image drawInRect: area blendMode:blendMode alpha:alpha]; // draw image
}

blendMode は通常で、アルファは 1.0 です。アルファが黒であることを除いて、画像は良好です。どんな助けでも感謝します。

別の描画方法を試してみましたが、黒いアルファと上下逆さまを示しています (今は逆さまであることは気にしないでください)

- (void) drawRect:(CGRect)area
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);

// Draw picture first
CGContextDrawImage(context, area, imgView.image.CGImage);

CGContextRestoreGState(context);
}
4

2 に答える 2

0

を使用するdrawInRect:blendMode:alphaと、渡すアルファが画像のアルファをオーバーライドすると思います。私が見たばかりのドキュメントは、あまり明確ではありませんでした。

于 2009-09-25T18:24:36.393 に答える
0
[imagename drawInRect:CGRectMake(x, y, width, height)];

また

[imagename drawAtPoint:CGPointMake(x, y)];
于 2010-03-02T12:11:45.500 に答える