Mac 应用程序中的图标和图像使用 Xamrin.Forms

Icons and images in Mac application using Xamrin.Forms

我正在将 windows forms 应用程序转换为 Mac。我选择的策略是创建一个 xamarin forms 项目。稍后向其添加 Xamarin.Mac project 并在 MacOS 上使用 xamarin forms NetStandard 代码到 运行。原来的 win forms 应用程序有两个 .ico images。一张显示在 screen 上,另一张显示为 Desktop icon.How,以便在我的 Mac 项目中使用这些图像。提前致谢。

没有人回答,但我发现 own.I 在将 Windows form 应用程序转换为 Xamarin.Mac App.I 时必须处理几个问题使用 Visual Studio for Mac 用于创建 Xamarin.Forms 项目并向其添加 Xamarin.Mac 项目。许多 C# 逻辑 运行 开箱即用 Xamarin.Mac。但是我必须在Xaml中重写整个UI。我只有两张 .ico 图片。我需要将它们转换为可在 Mac 上使用的格式。 我决定使用免费和开源 GIMP 软件。我使用 GIMP 将图像格式更改为 .png

在此之后,我将 Xamarin.Mac 的 Resources folder 中的 .png 图像保存为 Build ActionBundle Resource。为图像编写此 xaml:

<Image  x:Name="LogoImage" Margin="-100,-100,-100,-120"/>

像这样在后面的代码中设置图片来源:

LogoImage.Source =ImageSource.FromFile("logo.png");

注意ImageSource.FromFile用于每个platform project中保存的Local images。而 ImageSource.FromResource 用于 Shared Project 中的 images Embedded 并且 Build Action 用作 Embedded Resource。第一张图片显示在 UI 屏幕上。

现在是 winforms app 中用作 Application icon 的第二张图片。这里的东西工作 differently。在现代应用程序开发中,一般做法是为 every resolutiondevice form factor 提供图像,应用程序将 运行 打开。除此之外,在不同的地方显示需要不同尺寸的图像。例如 DockMenubarActivity Monitor 在 Mac 上的图像。所以我为 GIMP 所需的每个分辨率创建了图像。

最后打开 Mac 项目中的 Assets.xcassets 文件。向下滚动并找到 mac 不同分辨率图像的空框。通过单击每个框并选择正确的图像大小来添加匹配的图像。详情 Go here。最后,binobj 文件夹需要来自两个 projectsdeletedCleanReBuild Xamarin.Mac 项目。 ,当我 deploy 应用程序时,图像集成在应用程序中,displaying