我得到了一些非常大的建筑图纸,有时是22466x3999,深度为24,甚至更大.我需要能够将这些版本调整为较小的版本,并能够将图像的各个部分剪切成较小的图像.
我一直在使用以下代码来调整图像大小,我在这里找到:
public static void ResizeImage(string OriginalFile, string NewFile, int NewWidth, int MaxHeight, bool OnlyResizeIfWider)
{
System.Drawing.Image FullsizeImage = System.Drawing.Image.FromFile(OriginalFile);
if (OnlyResizeIfWider)
{
if (FullsizeImage.Width <= NewWidth)
{
NewWidth = FullsizeImage.Width;
}
}
int NewHeight = FullsizeImage.Height * NewWidth / FullsizeImage.Width;
if (NewHeight > MaxHeight)
{
NewWidth = FullsizeImage.Width * MaxHeight / FullsizeImage.Height;
NewHeight = MaxHeight;
}
System.Drawing.Image NewImage = FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero);
FullsizeImage.Dispose();
NewImage.Save(NewFile);
}
Run Code Online (Sandbox Code Playgroud)
这个代码裁剪图像:
public static MemoryStream CropToStream(string path, int x, int y, int …Run Code Online (Sandbox Code Playgroud) 所以我一直在寻找答案.
我无法使用FontAwesome Pro中的所有3种字体来使用我的xamarin native(iOS)来工作.
我确实用过
UIFont.FromName(fontName, size);
Run Code Online (Sandbox Code Playgroud)
但是"fontName"需要是Font的"family"名称,这是FontAwesome的一个问题,因为专业版中的所有版本都具有相同的PostScript名称.它不是文件名,它是字体的家族属性.因此,当我使用(在Mac上)Fontbook时,我可以看到fontawesome pro的所有三个版本(Regular,Light和Solid)都有相同的姓氏,即"Font Awesome 5 Pro".
所以这意味着我只能使用应用程序中的三种字体之一.
我一直在寻找一种改变格式的解决方案,但我似乎无法找到任何方法.但是,如果我可以设置我想要字体的格式,那么我想将'Light','Regular'或'Solid'定义为字体格式......
下面是Fontbook的截图(抱歉,这是丹麦语)
我们在zip文件中编码文件时出现问题.我们使用离子拉链来压缩和解压缩档案.我们位于丹麦,所以我们经常在文件名中包含æ,ø或å的文件.
当用户使用Windows内置工具压缩文件时,我发现它正在使用IBM437 enconding,当我们在其中包含'ø'/'Ø'的文件时,这只是给出了一些时髦的结果.我修复了以下代码:
public static string IBM437Encode(this string text)
{
return text.Replace('ø', '¢').Replace('Ø', '¥');
}
public static string IBM437Decode(this string text)
{
return text.Replace('¢', 'ø').Replace('¥', 'Ø');
}
Run Code Online (Sandbox Code Playgroud)
这已经运行了一段时间了,一切都很好.
但是,因为它总是一个但是,我们没有尝试用mac osx中的默认工具压缩的文件.所以现在我们遇到了一个新问题..当使用æ,ø和å时,编码是UTF-8! 所以如果我知道压缩拉链的位置,我可以让它工作,但是有没有简单的方法来检测或规范化拉链内的编码?