首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改BitmapSource调色板

更改BitmapSource调色板
EN

Stack Overflow用户
提问于 2012-09-22 05:08:32
回答 1查看 1.5K关注 0票数 0

有没有办法在WPF中改变BitmapSource的调色板?(在运行时)我尝试的每个BitmapSource层次结构都具有对调色板的只读访问权限。

EN

回答 1

Stack Overflow用户

发布于 2012-12-27 03:31:55

我还没有找到一种很好的方法,但你总是可以从原始的位图重新创建一个位图:

如果您有:

代码语言:javascript
复制
Private myBitmap As System.Windows.Media.Imaging.WriteableBitmap
Private myCurrentPalette As List(Of Color)  

然后,当您想要更改调色板时,请执行以下操作:

代码语言:javascript
复制
    Dim iWidth As Integer = myBitmap.Width
    Dim iHeight As Integer = myBitmap.Height
    Dim iPixel(iWidth * iHeight - 1) As Byte
    myBitmap.CopyPixels(iPixel, iWidth, 0)
    myBitmap = New WriteableBitmap(iWidth, iHeight, 96, 96, PixelFormats.Indexed8, New BitmapPalette(myCurrentPalette))
    myBitmap.WritePixels(New Int32Rect(0, 0, iWidth, iHeight), iPixel, iWidth, 0)

然后你需要申请:

Image1.Source = myBitmap

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12538177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档