바이트 배열로 변환 할 때 이미지 데이터 손실

플레이크

를 사용 MemoryStream하여 이미지를 바이트 배열로 바꾸려고하는데 이미지를 복구하면 이미지가 다르게 보입니다.

Form문제를 보여주는 간단한 앱을 만들었습니다 . 이 예에서는 Google 크롬 아이콘을 사용하고 있습니다.

var process = Process.GetProcessById(3876); // found pid manually
var image = Icon.ExtractAssociatedIcon(process.MainModule.FileName).ToBitmap();
pictureBox1.Image = image;

byte[] imageBytes;
using (var ms = new MemoryStream())
{
    image.Save(ms, ImageFormat.Bmp);
    imageBytes = ms.ToArray();
}

using (var ms = new MemoryStream(imageBytes))
{
    pictureBox2.Image = (Bitmap) Image.FromStream(ms);
}

결과:

이미지 전후 이미지

내가 여기서 뭘 놓치고 있는지 아십니까?


업데이트 다음 코드를 사용하여 적절한 바이트를 얻을 수있었습니다.

var converter = new ImageConverter();
var imageBytes = (byte[]) converter.ConvertTo(image, typeof(byte[]));

그래도 메모리 스트림에 무슨 일이 일어나고 있는지 알고 싶습니다 ..

Pssa Pøngjǣrdenlarp

아이콘은 복잡 합니다. 투명한 부분이 포함되어 있으면 BMP 또는 JPG로 변환하는 것이 거의 항상 나쁘게 끝나는 것처럼 보입니다 . 또한 ImageConverterBMP 변환없이 코드가 수행하는 작업을 거의 수행 할 필요 가 없습니다.

var process = Process.GetProcessById(844); // found pid manually
var image = Icon.ExtractAssociatedIcon(process.MainModule.FileName).ToBitmap();
pb1.Image = image;

byte[] imageBytes; 

using (var ms = new MemoryStream())
{ 
    image.Save(ms, ImageFormat.Png);        // PNG for transparency
    ms.Position = 0;
    pb2.Image = (Bitmap)Image.FromStream(ms);                
}

ImageConverter 참조 소스

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

StringBuilder가 String으로 변환 할 때 데이터 손실

분류에서Dev

UIImage에서 Mat로 변환 할 때 데이터 손실

분류에서Dev

UIImage에서 Mat로 변환 할 때 데이터 손실

분류에서Dev

배열로 캐스팅 할 때 PHP 개체의 데이터 손실

분류에서Dev

hdf5 데이터 세트에서 numpy 배열로 데이터를 전송할 때 정밀도 손실

분류에서Dev

문자열에서 정수로 변환 할 때 선행 "0"0이 손실 됨

분류에서Dev

이미지로 다시 변환 할 때 바이트로 변환 된 이미지가 표시되지 않음

분류에서Dev

데이터 프레임을 병합 할 때 열 손실 pandas

분류에서Dev

바이트 배열 변환-> 문자열-> 바이트 배열로 인해 데이터가 손상됨

분류에서Dev

DateTime을 바이트 배열로 변환 할 때 C #과 Java의 차이점

분류에서Dev

jpg 파일을 png로 변환 할 때 정보 손실이 있습니까?

분류에서Dev

Varchar 값 'NOTDEFINED'를 데이터 형식 Int로 변환 할 때 변환 실패

분류에서Dev

바이트 배열을 System.Drawing.Image로 변환 할 때 오류 발생

분류에서Dev

CSV에서 numpy 배열로 데이터를 변환 할 때 오류 발생

분류에서Dev

TypeError : 이미지 데이터는 float로 변환 할 수 없습니다. // .png 이미지를 가져올 때

분류에서Dev

이 varchar 값을 vb.net을 사용하여 검색 할 때 SQL 데이터베이스를 바이트 배열로 변환하는 방법

분류에서Dev

PHP 페이지에서 업로드 할 때 Blob 이미지를 바이너리에서 데이터베이스의 실제 이미지로 변환하는 방법은 무엇입니까?

분류에서Dev

데이터 손실없이 자바 스크립트로 텍스트 분할

분류에서Dev

PHP 공지 : json_decode () 'ed 데이터를 에코 할 때 배열에서 문자열로 변환

분류에서Dev

데이터 손실없이 문자열 최소화 / 변환

분류에서Dev

데이터 손실없이 문자열 최소화 / 변환

분류에서Dev

JNI에서 바이트 배열을 float 벡터로 변환 할 때 오류 발생

분류에서Dev

데이터 손실없이 NTFS를 FAT32로 변환

분류에서Dev

웹 배포 작업 실패 : Azure에 배포 할 때 데이터 손실이 발생할 수 있음

분류에서Dev

데이터베이스의 테이블에 데이터 배열을 삽입 할 때 Code Igniter의 배열에서 문자열로 변환 오류

분류에서Dev

int를 바이트 배열로 변환 할 때 마스크하거나 마스크하지 않습니까?

분류에서Dev

"nvarchar 값 '113332,113347'을 데이터 유형 int로 변환 할 때 변환이 실패했습니다."

분류에서Dev

base64로 변환 할 때 이미지가 손상되는 이유는 무엇입니까?

분류에서Dev

데이터 테이블을 바이트 배열로 변환

Related 관련 기사

  1. 1

    StringBuilder가 String으로 변환 할 때 데이터 손실

  2. 2

    UIImage에서 Mat로 변환 할 때 데이터 손실

  3. 3

    UIImage에서 Mat로 변환 할 때 데이터 손실

  4. 4

    배열로 캐스팅 할 때 PHP 개체의 데이터 손실

  5. 5

    hdf5 데이터 세트에서 numpy 배열로 데이터를 전송할 때 정밀도 손실

  6. 6

    문자열에서 정수로 변환 할 때 선행 "0"0이 손실 됨

  7. 7

    이미지로 다시 변환 할 때 바이트로 변환 된 이미지가 표시되지 않음

  8. 8

    데이터 프레임을 병합 할 때 열 손실 pandas

  9. 9

    바이트 배열 변환-> 문자열-> 바이트 배열로 인해 데이터가 손상됨

  10. 10

    DateTime을 바이트 배열로 변환 할 때 C #과 Java의 차이점

  11. 11

    jpg 파일을 png로 변환 할 때 정보 손실이 있습니까?

  12. 12

    Varchar 값 'NOTDEFINED'를 데이터 형식 Int로 변환 할 때 변환 실패

  13. 13

    바이트 배열을 System.Drawing.Image로 변환 할 때 오류 발생

  14. 14

    CSV에서 numpy 배열로 데이터를 변환 할 때 오류 발생

  15. 15

    TypeError : 이미지 데이터는 float로 변환 할 수 없습니다. // .png 이미지를 가져올 때

  16. 16

    이 varchar 값을 vb.net을 사용하여 검색 할 때 SQL 데이터베이스를 바이트 배열로 변환하는 방법

  17. 17

    PHP 페이지에서 업로드 할 때 Blob 이미지를 바이너리에서 데이터베이스의 실제 이미지로 변환하는 방법은 무엇입니까?

  18. 18

    데이터 손실없이 자바 스크립트로 텍스트 분할

  19. 19

    PHP 공지 : json_decode () 'ed 데이터를 에코 할 때 배열에서 문자열로 변환

  20. 20

    데이터 손실없이 문자열 최소화 / 변환

  21. 21

    데이터 손실없이 문자열 최소화 / 변환

  22. 22

    JNI에서 바이트 배열을 float 벡터로 변환 할 때 오류 발생

  23. 23

    데이터 손실없이 NTFS를 FAT32로 변환

  24. 24

    웹 배포 작업 실패 : Azure에 배포 할 때 데이터 손실이 발생할 수 있음

  25. 25

    데이터베이스의 테이블에 데이터 배열을 삽입 할 때 Code Igniter의 배열에서 문자열로 변환 오류

  26. 26

    int를 바이트 배열로 변환 할 때 마스크하거나 마스크하지 않습니까?

  27. 27

    "nvarchar 값 '113332,113347'을 데이터 유형 int로 변환 할 때 변환이 실패했습니다."

  28. 28

    base64로 변환 할 때 이미지가 손상되는 이유는 무엇입니까?

  29. 29

    데이터 테이블을 바이트 배열로 변환

뜨겁다태그

보관