1
我在MonoDroid的編寫一個程序來捕捉在屏幕上簽名,然後將其保存爲JPG文件。我可以捕獲簽名,當我嘗試將其保存到文件時,問題就出現了。當用戶想要保存圖像,下面的代碼運行:MonoDroid的保存繪製位圖到JPG
void buttonSave_Click(object sender, EventArgs e)
{
try
{
if (!m_locked)
{
MemoryStream stream = new MemoryStream();
m_bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, stream);
byte[] byteArray = stream.GetBuffer();
//string toSave = Convert.ToBase64String(byteArray);
//save it to file (test);
string path = "/mnt/sdcard/TestSig/";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string file = path + "signature.jpg";
FileOutputStream fo = new FileOutputStream(file);
fo.Write(byteArray);
}
}
catch (Exception ex)
{
//display message
}
}
的ImageView的該簽名被繪製到設置從而(在活動的OnCreate法):
m_imageView = (ImageView)FindViewById(Resource.Id.imageView);
m_imageView.SetBackgroundColor(Android.Graphics.Color.White);
Display d = WindowManager.DefaultDisplay;
m_dw = d.Width;
m_dh = d.Height;
m_bitmap = Bitmap.CreateBitmap((int)m_dw, (int)(m_dh * 0.5), Bitmap.Config.Argb8888);
m_canvas = new Canvas(m_bitmap);
m_paint = new Paint();
m_paint.Color = Color.Black;
m_imageView.SetImageBitmap(m_bitmap);
m_imageView.SetOnTouchListener(this);
問題是當我在圖像編輯器中打開文件時,所有尺寸都可以,但它完全是黑色的。它應該是這個樣子:
通過這似乎當使用PNG格式的工作確定的方式。我將圖像保存在Android設備上,但在Windows PC上查看。
謝謝。
謝謝湯姆,它工作得很好! – 2012-08-22 09:23:15