J'ai créé une application dans laquelle je veux afficher du texte sur google maps. J'ai choisi d'utiliser des marqueurs personnalisés, mais ils ne peuvent être que des images, j'ai donc décidé de créer une image à partir de mon texte en utilisant SkiaSharp.Comment puis-je me débarrasser des artefacts dans ImageSource créé avec SkiaSharp
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);
}
Les images que je créer ont cependant des artefacts disgracieux sur le dessus de l'image résultante et mon sentiment est qu'ils empirent si je crée plusieurs images. J'ai construit un exemple d'application, qui montre les artefacts et le code que j'ai utilisé pour dessiner le texte. Il peut être trouvé ici: https://github.com/hot33331/SkiaSharpExample
Comment puis-je me débarrasser de ces artefacts. Est-ce que j'utilise skia mal?
S'il vous plaît envoyez le code approprié dans votre question, ne faites pas seulement un lien vers une source externe et attendez-vous à prendre le temps de creuser votre code. Et si vous posez des questions spécifiques sur les "objets visuels", inclure une image montrant le problème serait une très bonne idée. – Jason