私はGoogleマップの上にテキストを表示したいアプリケーションを作成しました。私はカスタムマーカーを使用することを選択しましたが、それらは画像でしかないので、私はSkiaSharpを利用して自分のテキストから画像を作成することにしました。私が作成SkiaSharpで作成したImageSourceでアーティファクトを取り除くにはどうすればいいですか
private static ImageSource CreateImageSource(string text)
{
int numberSize = 20;
int margin = 5;
SKBitmap bitmap = new SKBitmap(30, numberSize + margin * 2, SKImageInfo.PlatformColorType, SKAlphaType.Premul);
SKCanvas canvas = new SKCanvas(bitmap);
SKPaint paint = new SKPaint
{
Style = SKPaintStyle.StrokeAndFill,
TextSize = numberSize,
Color = SKColors.Red,
StrokeWidth = 1,
};
canvas.DrawText(text.ToString(), 0, numberSize, paint);
SKImage skImage = SKImage.FromBitmap(bitmap);
SKData data = skImage.Encode(SKEncodedImageFormat.Png, 100);
return ImageSource.FromStream(data.AsStream);
}
画像は、しかし、結果として得られる画像の上に醜い人工物を持っているし、私の気持ちは、私は複数の画像を作成する場合、彼らは悪化ということです。 私はテキストを描画するために使用した成果物とコードを示すサンプルアプリケーションを作成しました。それはここに見つけることができます: https://github.com/hot33331/SkiaSharpExample
どのようにこれらのアーティファクトを取り除くことができます。スキアを間違って使用していますか?
あなたの質問に関連コードを投稿してください。単に外部ソースにリンクして、コードを掘り下げる時間がかかると期待してください。また、「視覚的な成果物」について具体的に質問している場合は、問題を示すイメージを含めて、本当に良いアイデアになります。 – Jason