2016-09-03 6 views
0

Я пытаюсь изменить метаданные моей песни. Я получил это, чтобы работать, но если пользователь не указал изображение обложки альбома, я автоматически рисую один из изображения, содержащего изображение альбома. Возвращенное изображение действительно размыто. Есть ли способ сделать это как можно более четкое определение? Вот часть моего кода, где я справиться с этим:Как я могу сохранить это изображение как можно больше HD?

if (isDir == false){ 
      IPicture art2 = new TagLib.Picture(new TagLib.ByteVector((byte[])new System.Drawing.ImageConverter().ConvertTo(pictureBox1.Image, typeof(byte[])))); //I make the new picture here. 

      TagLib.File file2 = TagLib.File.Create(Properties.Settings.Default.NowPlayingPath); 
      file2.Tag.Title = SongBox.Text; 
      file2.Tag.AlbumArtists = artist; 
      file2.Tag.Genres = genre; 
      file2.Tag.Year = Convert.ToUInt32(YearBox.Text); 
      file2.Tag.Composers = composers; 
      file2.Tag.Pictures = new IPicture[1] { art2 };//I set the picture here. 
      file2.Save(); 
      MessageBox.Show("You'll need to reload your song to continue listening to it.", "Settings saved."); 
      this.Hide(); 
     } 
    } 

ответ

1

Попробуйте использовать MemoryStream, чтобы получить изображение как массив байтов:

MemoryStream ms = new MemoryStream(); 
pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
byte[] buff = ms.GetBuffer(); 
IPicture art2 = new TagLib.Picture(new TagLib.ByteVector(buff)); 
Смежные вопросы