我是C#的新手,我試圖從原始二進制流生成圖像。該文件是純二進制文件,擴展名爲.bin,以8 bpp 2-2-2-2格式編碼;它包含每個RGB顏色2位和不透明度2位。我還沒有嘗試過任何東西,因爲我真的不知道從哪裏開始;我搜索了之前發佈的問題,但沒有找到有用的東西。我的應用程序將接收一個串行流,並且我必須從文件中爲每個像素使用一個字節生成800 x 600圖像。任何想法至少會讓我開始?如何將2-2-2-2格式的原始二進制圖像轉換爲C#中的位圖?
2
A
回答
1
我會從這樣的事情開始。
public void ImageTest()
{
var bitmap = new Bitmap(800,600);
var stream = new BinaryReader(new FileStream("pathtofile",FileMode.Open));
byte currentbyte;
int x = 0;
int y = 0;
while((currentbyte = stream.ReadByte()) != EndOfImageMarker)
{
bitmap.SetPixel(x,y,DecodeByteToColor(currentbyte));
x++;
y++;
if (x == 799)//next line
{
x = 0;
}
if (y == 599)
{
break;
}
}
bitmap.Save("Path to new file...");
}
private Color DecodeByteToColor(byte currentbyte)
{
const int adjustment = 10;
var red = (currentbyte & 0x3) * adjustment;
var green = (currentbyte << 2 & 0x3) * adjustment;
var blue = (currentbyte << 4 & 0x3) * adjustment;
var alpha = (currentbyte << 6 & 0x3) * adjustment;
return Color.FromArgb(red, green, blue, alpha);
}
它已經有一段時間了,因爲做位移的東西我可能會讓操作員從你需要的東西后退。目的是要抓住前兩位,並將其轉移到接下來的兩位。調整將決定每轉換一次全部值的每個位的顏色。
+0
位移是反向的,調整應該是0x01010101。否則,這應該工作(儘管緩慢,「Bitmap.LockBits」會比許多對「Bitmap.SetPixel」的調用快得多)。 – 2011-05-31 19:04:38
相關問題
- 1. 如何在iOS中將圖像轉換爲二進制格式?
- 2. 如何將二進制格式的圖像轉換爲可分析的圖像?
- 3. 如何將位圖圖像轉換爲android中的二進制圖像?
- 4. 如何將圖像文件轉換爲二進制格式
- 5. 將原始二進制數據轉換爲圖像文件?
- 6. 轉換二進制值位圖圖像
- 7. 如何將jpeg或bmp圖像轉換爲原始格式
- 8. 如何將圖像轉換爲灰度原始格式?
- 9. 將原始圖像從JAI GigE相機轉換爲位圖C#
- 10. C++將二進制(P5)圖像轉換爲ascii(P2)圖像(.pgm)
- 11. 將圖像轉換爲二進制圖像中的android
- 12. 將位圖轉換爲C#中的二進制數據
- 13. 將圖像轉換爲二進制
- 14. 使用xcode將圖像轉換爲二進制格式
- 15. 如何將二進制圖像轉換爲Java中的二進制數組?
- 16. 如何將圖像轉換爲Swift中的二進制文件
- 17. 如何將圖像轉換爲android中的base64二進制值?
- 18. 如何將protobuf圖轉換爲二進制格式?
- 19. 如何使用MFC將24位彩色圖像轉換爲二進制圖像?
- 20. 將二進制轉換爲圖像列表的位圖圖像。代碼錯誤
- 21. 將圖像轉換爲二進制數組和二進制數組轉換爲java中的圖像
- 22. 轉換爲圖像的二進制WPF;
- 23. 在Matlab中將二進制圖像轉換爲灰度圖像
- 24. 在OpenCV中將灰度圖像轉換爲二進制圖像
- 25. 如何將內存中的本地二進制圖像轉換爲Winforms圖像?
- 26. 如何使用ImageMagick或RMagick將圖像轉換爲1bit/px二進制位圖?
- 27. 如何將圖像(PNG)轉換爲二維數組(二進制圖像)?
- 28. 使用Node.js將Base64圖像轉換爲原始二進制文件
- 29. 將專有原始圖像格式轉換爲Adobe DNG
- 30. JavaScript:如何將jpeg圖片標籤轉換爲原始二進制文件?
想要顯示圖像還是要將其保存回光盤?如果你想顯示它,你是使用WinForms還是WPF? – 2011-05-31 17:03:24