none
c#中如何把现成的image变成背景图呢

    问题

  • 由于项目需要,图片必须经过等比例缩放后设为背景。并且重写了image类的onRender函数。

    但发现图片要作为背景似乎都必须是imagebrush,只能设置imageSource,这样自定义的image就不能发挥作用了

    有没有什么好的办法呢

    2016年5月23日 6:34

全部回复

  • 可否添加一个picturebox,放在窗体的最低层(Send to Back), 其它控件都是在这个层之上

    我的项目中,添加form窗体之后,会加一个panel,其它的控件都是加在这个panel里面


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2016年5月23日 7:09
  • Hi,

    请问你的项目是什么类型的? winform或者wpf?

    如果是Winform的话设置背景图片或者如2楼说的那样操作应该是可行的。 如果是wpf的话,你可以参考下面的方法:

    方法一:

    xaml中:
    <控件>   
    <控件.Background>
    <ImageBrush ImageSource="/WpfApplication1;component/Images/xxx.jpg"/>
    </控件.Background>
    </控件>   
    

    方法二:

    xxxx.cs中:
    ImageBrush b3 = new ImageBrush();
    b3.ImageSource = new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
    this.Background = b3;

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年5月24日 5:55
  • 这样感觉不太好办,因为需要设置背景的flowDocument中的文档元素,不是uiElement
    2016年5月24日 16:27
  • 这样不行哦,我是自定义了一个image类,里面做了很多定点缩放,如果不使用这个类的话,就不能达到缩放目的
    2016年5月24日 16:37
  • Hi,

    >>这样不行哦,我是自定义了一个image类,里面做了很多定点缩放,如果不使用这个类的话,就不能达到缩放目的

    这个类有继承Image对象吗? 如果继承了,你直接用自定义的类接受图像并赋值给背景。

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.



    2016年6月8日 7:12