zoukankan      html  css  js  c++  java
  • C# 中的相对路径在 Picturebox 中的应用

    前言

    最近的项目需要将 picturebox 显示网络图片的小功能完成,不想用绝对路径取本地文件里的图片,因为将来要发布给用户的话让用户自己配置会很麻烦的,索性将路径设置成相对路径,将图片放在自己的项目里。那么问题来了,如何用 picturebox 根据相对路径取出要显示的图片呢?

    C#最常使用的相对路径是从当前程序所在路径开始相对寻径,找到要找的路径,即以下两种最简单的方式:

    1. 程序根目录.(即exe程序所在路径)

    //下面两个路径是等价的,都是exe程序所在路径(通常是binDebug下)的Internet文件夹下的you.jpg图片
    string Path1 = @".Internetyou.jpg"; 
    string Path2 = @"Internetyou.jpg"; 

    2. 上级目录..

    string Path3 = @"..Internetyou.jpg";    //程序根目录的上级目录(通常是bin下)的Internet文件夹下的you.jpg图片
    string Path4 = @"....Internetyou.jpg";  //程序根目录的上两级目录(通常是程序名下)的Internet文件夹下的you.jpg图片

    3. picturebox 取出对应的图片

    我是放在 binDebug下面里面了,所有用的是第一个相对路径的方法。

        picInternet.Image = Image.FromFile(@".Internetyou.png");

    显示图片成功。

    4 .顺便记下 Picturebox 控件的小技巧

    4.1 使加载的图片自使用控件尺寸

    分别对pictureBox控件设置BackGroundImageLayout=Stretch,SizeMode=StretchImage

    4.2 使Picturebox 透明

    picturebox的backColor属性设置成Color.Transparent

    5.安利一下下载小图标 icon 好的网址

    阿里巴巴的矢量图标库  http://www.iconfont.cn

    6.遇到的小坑

    代码虽少,但也有坑,下载完阿里的矢量图标之后,一般的小图标是没有颜色背景的,但是你要改成 jpg 格式或者用 windows 自带的那个画图工具打开编辑之后就会自动添加白色背景。那这样就很坑了。

    解决方法:

    用 windows 自带的画图3D工具打开就不会出现此现象。

  • 相关阅读:
    本地 配置 Memcache
    本地配置 Redis
    Mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。
    perceptron感知机 mtalab
    修正收益率
    k近邻算法 ---- KNN
    原码、反码、补码、移码
    卡尔曼滤波器--连续变量
    收益率
    Matlab基础 数组
  • 原文地址:https://www.cnblogs.com/mhq-martin/p/9216549.html
Copyright © 2011-2022 走看看