WPF中使用Image显示问题

在后台加载Image图片时遇到路径动态显示问题。尝试了相对和绝对路径,以及使用AppDomain.CurrentDomain.BaseDirectory,但只有特定情况能成功显示。Image与ImageBrush在处理路径上的差异导致显示效果不一致。解决方案可能涉及正确设置UriKind或检查路径格式。
摘要由CSDN通过智能技术生成

后台加载Image图片路径无法动态显示

1.先是使用了.选中绝对路径无法显示

			//生成二维码
            QRCode qrconde = new QRCode();
            Bitmap map ;
            map = qrconde.GenerateQRCode("https://blog.csdn.net/dust__?spm=1001.2100.3001.5343", 130, 130);
            string datestr = DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg";
			//***************************************************
            string mapSavePath = "./QRpicture/" +datestr ;
            map.Save(mapSavePath);//保存二维码图片
            BitmapImage bitmap = new BitmapImage(new Uri(mapSavePath, UriKind.RelativeOrAbsolute));
            erweimaImg.Source = bitmap;//显示二维码
            GC.Collect();

此时使用选择路径图片无法显示
在这里插入图片描述

2.使用AppDomain函数方法选取图片路径

			//生成二维码
            QRCode qrconde = new QRCode();
            Bitmap map ;
            map = qrconde.GenerateQRCode("https://blog.csdn.net/dust__?spm=1001.2100.3001.5343", 130, 130);
            string datestr = DateTime.Now.ToString("yyyyMMddHHmmss") + ".jpg";
			//*************************************************************************
            string mapSavePath = AppDomain.CurrentDomain.BaseDirectory + "/QRpicture/" + datestr;
            map.Save(mapSavePath);//保存二维码图片
            BitmapImage bitmap = new BitmapImage(new Uri(mapSavePath, UriKind.RelativeOrAbsolute));
            erweimaImg.Source = bitmap;//显示二维码
            GC.Collect();

在这里插入图片描述
此时二维图片显示
3.此时发现Image和ImageBrush图片路径选择显示是有差异的

         <Grid  Grid.Row="2">
          <Image Width="130" Height="130" x:Name="erweimaImg" Stretch="Fill" Opacity="0.5"></Image>
        </Grid>
        <Grid.Background>
            <ImageBrush x:Name="tcwImg"></ImageBrush>
        </Grid.Background>
   BitmapImage bit = new BitmapImage();
   bit = new BitmapImage(new Uri("./OutputPic/"+strArr[i].Trim(), UriKind.RelativeOrAbsolute));
   tcwImg.ImageSource =bit;

ImageBrush使用了绝对路径选择图片时可以正常显示;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值