This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
图像共享 是一个强大的图像处理库, 允许您以各种方式操作图像 。 图像Sharp.Web是图像Sharp的延伸,为使用ASP.NET核心应用程序中的图像提供了额外的功能。 在此教程中, 我们将探索如何使用 imageSharp. Web 来调整此应用程序中的图像大小、 裁剪和格式 。
[技选委
要以 imageSharp.Web 启动, 您需要安装以下 Nuget 软件包 :
dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp.Web
在我们的程序. cs 文件中,我们然后设置了图像Sharp. Web。 以我们为例, 我们用一个名为“图像”的文件夹来描述和储存我们的图像, 然后我们设置了图像Sharp. Web 中间软件, 将此文件夹用作我们图像的来源 。
图像Sharp. Web 还使用“ 缓存” 文件夹存储已处理的文件( 这样可以防止它每次调阅文件 ) 。
services.AddImageSharp().Configure<PhysicalFileSystemCacheOptions>(options => options.CacheFolder = "cache");
这些文件夹与 wwwroot 有关, 所以我们有以下结构 :
图像 Sharp. Web 有多个选项, 用于存储您的文件和缓存( 详情请参见这里 : https://docs. sixlabors.com/articles/imagesharp.web/imageprovideers.html?tabs=tabid-1%2Ctabid-1a 。)
例如,要将您的图像存储在 Azure blob 容器( 缩放方便) 中, 您可以使用 Azure BlobCache 选项的 Azure 提供方 :
dotnet add SixLabors.ImageSharp.Web.Providers.Azure
// Configure and register the containers.
// Alteratively use `appsettings.json` to represent the class and bind those settings.
.Configure<AzureBlobStorageImageProviderOptions>(options =>
{
// The "BlobContainers" collection allows registration of multiple containers.
options.BlobContainers.Add(new AzureBlobContainerClientOptions
{
ConnectionString = {AZURE_CONNECTION_STRING},
ContainerName = {AZURE_CONTAINER_NAME}
});
})
.AddProvider<AzureBlobStorageImageProvider>()
现在我们有了这个设置 申请中使用它就很简单了 例如,如果我们想要服务于一个变缩图像, 我们可以同时使用 标签帮助者 或直接指定 URL。
标签求助器 :
<img
src="sixlabors.imagesharp.web.png"
imagesharp-width="300"
imagesharp-height="200"
imagesharp-rmode="ResizeMode.Pad"
imagesharp-rcolor="Color.LimeGreen" />
在此请注意, 我们正在调整图像的大小, 设置宽度和高度, 并设置调整模式和重新显示图像的颜色 。
在此应用程序中,我们用更简单的方式使用查询参数。 对于标记,我们使用一个扩展名,让我们可以指定图像大小和格式。
public void ChangeImgPath(MarkdownDocument document)
{
foreach (var link in document.Descendants<LinkInline>())
if (link.IsImage)
{
if(link.Url.StartsWith("http")) continue;
if (!link.Url.Contains("?"))
{
link.Url += "?format=webp&quality=50";
}
link.Url = "/articleimages/" + link.Url;
}
}
这样一来,我们就可以在诸如
![image](/image.jpg?format=webp&quality=50)
此图像将来自何方 wwwroot/articleimages/image.jpg
并调整大小,使其质量达到50%,并采用Webp格式。
或者我们只要按原样使用图像, 就可以按照查询字符串中指定的方式调整图像大小和格式 。
注注: cache
上面我用的焊接器 需要被申请书写下来 如果你在利用多克 你就得确保情况如此
见见 我先前的岗位 用于我如何使用绘制的音量来管理它 。
正如你所看到的图像Sharp.Web 给了我们一个巨大的能力 来调整我们的 ASP.NET 核心应用程序中的图像大小和格式。 它很容易设置和使用, 并提供了许多灵活性 如何在应用程序中操作图像。