2010-01-30 4 views
1

Есть ли способ изменить размер прозрачного изображения в Windows Mobile (C#)? Я могу изменить размер изображения, но теряю прозрачность. Он заменяется белым.Изменение размера прозрачных изображений в Windows Mobile с использованием C#

Вот что я сейчас

public static void ResizePicture(string imageFileName, Size maxSize) 
{ 
    using (Image src = new Bitmap(imageFileName)) 
    { 
     using (Bitmap dst = new Bitmap(maxSize.Width, maxSize.Height)) 
     { 
      using (Graphics g = Graphics.FromImage(dst)) 
      { 

       ImageAttributes imageAttr = new ImageAttributes(); 
       g.Clear(Color.Transparent); 
       g.DrawImage(src, new Rectangle(0, 0, dst.Width, dst.Height), 0, 0, src.Width, src.Height, GraphicsUnit.Pixel, imageAttr); 
      } 
      dst.Save(imageFileName, ImageFormat.Png); 
     }     
    } 
} 

ответ

1

Посмотрите на это, как найти в MSDN о настройке прозрачности цвета. Похоже, вам нужно установить SetColorKey для этого. См. Также here, в котором объясняется, что вы не можете установить прозрачность (видимо, противоречащую первой ссылке). Но вы все равно можете отключить Smart Devices Framework (версия сообщества), найденную в OpenNetCF.org, и использовать это вместо этого для решения проблемы обхода прозрачности. Я попробую первую ссылку, прежде чем идти дальше, чтобы узнать, работает ли это.

Надеюсь, это поможет, С уважением, Tom.

Смежные вопросы