我正在开发一个“虚拟黑板”的小型android项目。我可以在我的手机/平板电脑上绘图,并且这些线存储在服务器中以便将来再现(线路通过套接字发送)
所有这些都是通过使用自定义视图完成的。现在,我需要添加动态更改视图背景的选项。到现在为止,我将如何获得此图像(从图库,由另一个应用程序发送等)并不重要。现在已经足够了(一个文件,一个输入流,一个Bitmap)并将其设置为我的视图背景,然后能够绘制它(我仍然不担心大小调整,缩放等)
我已经阅读了一些关于从资源和资源加载图片的内容,但是没有一个适用于我的案例(IMO),因为图片不属于我的应用程序。
关于我应该如何进行的任何建议?
答案 0 :(得分:1)
当您创建 def __unicode__(self):
return u'%s' % self.lname
时,只需使用您正在使用的customView
中的以下代码
constructor
使用上述任何方法更改背景。
答案 1 :(得分:0)
也许这可能会有所帮助 setBackground(Drawable background)
答案 2 :(得分:0)
我的第一个建议是去看看Picasso,这是一个开源库,可以为你完成有关加载和缓存图像的所有工作。
如果你想要去寻找自定义的东西,这是一个关于下载图片的老问题
并将其设置为后台使用:
答案 3 :(得分:0)
您可以覆盖OnDraw(Canvas canvas)
方法并使用画布将图像绘制为位图。像这样:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);
Matrix matrix=new Matrix();
matrix.postScale(0.8f, 0.8f);
matrix.postRotate(45);
Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),
bmp.getHeight(),matrix,true);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(dstbmp, 10, 10, null);
上面的代码经过测试,效果很好。请记住,如果你重写onDraw(),那么你只想加载一次位图(不是每次重绘视图