65.9K
CodeProject 正在变化。 阅读更多。
Home

iTunes 图片

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.46/5 (11投票s)

2006年10月26日

1分钟阅读

viewsIcon

36455

downloadIcon

294

一个类似于 iTunes 的图片面板。

iTunes Image resume

引言

受到 iTunes 的启发,我一直在想是否可以为目录程序创建一个漂亮的简历图片。 截图的左边是原始的 iTunes Podcast,另一边是 ImageFlip 控件。

背景

这篇文章基于创建一个模拟 iTunes 的图片控件的想法,一个能够反射图像的光滑表面。

该控件由原始图像和自身的一个壮观的透明渐变副本组成。 该控件完全透明,因此反射的图像可以覆盖任何类型的背景。

顺便说一下,这里最有用的东西是代码或这个想法。 因此,它可以用于创建一个带有描述和按钮的更大的控件,或者在网页上动态创建一个图像,也许是一个 PNG。

使用代码

控件的使用由 ImageDivider 属性定义。

  • Image 定义源图像。 例如,可以是一个 80x80 像素大小的图像。
  • Divider 定义反射图像的高度,以源图像的比例表示。 例如:Divider=2 表示 40 像素的反射高度。

因此,控件的总高度变为 80 + 40 = 120 像素。

控件可以调整大小,但它不会以任何方式影响图像;它可能只对裁剪图像有用。 在分配图像时,控件会自动调整到计算的尺寸。

注意:控件在没有图像的情况下完全透明,因此很容易在父窗体中丢失它:)

关注点

这是找到并用于将控件设置为完全透明的技巧

// Set background trasparent for control
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.ExStyle |= 0x20;
        return cp;
    }
}

历史

这是一个预发布版本,如果我有时间,可能会进行改进。

© . All rights reserved.