uri是不可能合作的?

时间:2014-07-18 15:53:58

标签: c# asp.net wpf vb.net uri

我的目标是使用Windows Imaging Component为我的ASP.net网站的访问者设置一个ICC颜色转换。

我首先使用VS2013在一个友好的WinForm C#中试验了WIC - 我感谢那些,在这里,顺便说一下,他们分享了他们的WIC代码。

在这个C#应用程序中,我毫不犹豫地使用了以下Uri语句:

BitmapSource bSource = new BitmapImage(new Uri(@"C:\tmp\Flowers.jpg"));

但是当我尝试在我的ASP.net VB.net代码中使用相同的代码时,所有的地狱都会崩溃?

在我的网站上,我的图像存储在一个名为" Images"我的ICC配置文件位于名为" Profiles"。

的目录中

这就是我最初将Uri声明编码到我的BitmapSource的方式:

Dim myBitmapSource As New BitmapImage(New Uri("~/Images/RGB.png"))

这就是我将Uri编码为我的ColorContext声明的方式:

Dim sourceColorContext As New ColorContext(New Uri("("~/Profiles/CIERGB.icc"))

我认为这很简单。

编译器很高兴地接受了这段代码的语法正确但是当我用F5运行该站点时,我遇到了错误?第一个是"无效的URI格式异常"这是指我的RGB图像"路径"声明。

我花了一天的时间来搜索这个错误,在这里和其他地方,我决定改变Uri的缩减:

New Uri("http//www.mysite.foo/Images/RGB.png"))

这似乎让运行时很开心,但我怀疑我还没有走出困境呢?

第二个错误让我感到很悲伤。我得到的错误是"文件未找到"。似乎运行时无法在我的网站上找到CIERGB.icc,即使我可以在我的FTP客户端上看到它。所以我想我会像上面所做的那样对我的ICC配置文件的路径应用相同的修复程序并获得:

Dim sourceColorContext As New ColorContext(New Uri("http//www.mysite.foo/Profiles/CIERGB.icc"))

但是运行时仍然认为这是不可接受的,我的ICC配置文件仍然无法找到?

我会继续自己搜索这个问题,以防万一,但是我从来没有想到我会为看起来像这样的事情而苦苦挣扎#34;直截了当"路径声明......

0 个答案:

没有答案