大家好,我想知道我使用 getresource 加载图像时做错了什么?,已经尝试了所有类型的路径字符串,但都返回空图像。图像文件是“嵌入式资源”
private void canvasView_PaintSurface(object sender, SkiaSharp.Views.Forms.SKPaintSurfaceEventArgs args)
{
SKImageInfo info = args.Info;
SKSurface surface = args.Surface;
SKCanvas canvas = surface.Canvas;
Image image = new Image
{
Source = ImageSource.FromResource("Resources.drawable.testimg.jpg")
};
SKBitmap _preloadedBitmap = ConvertToSkBitmap(image);
canvas.Clear();
canvas.DrawBitmap(_preloadedBitmap, 200, 200);
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
</PropertyGroup>
<ItemGroup>
<None Remove="Views\testimg.jpg" />
</ItemGroup>
<ItemGroup>
<Resource Include="Properties\testimg.jpg">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</Resource>
</ItemGroup>
string resourceID = "RECOmobile.testimg.jpg";
Assembly assembly = GetType().GetTypeInfo().Assembly;
using (Stream stream = assembly.GetManifestResourceStream(resourceID))
{
bitmap = SKBitmap.Decode(stream);
}
这是对我有用的最终解决方案,我在“ConvertToSkBitmap”中也遇到了错误,所以删除了方法。