每次我使用这个代码都没有画出来.我需要在指定的矩形内绘制一个位图.
canvas.drawBitmap(MyBitmap, null, rectangle, null)
Run Code Online (Sandbox Code Playgroud)
我看过网上但找不到多少帮助.
我有一张背景图片(地图),我需要在其上定期绘制你在这里的图标.我使用Canvas在地图上绘制图标.假设在单击按钮时触发绘制过程(请参阅下面的代码),如何删除上一个绘图?
private void displayUserPos(Point userPos) {
Bitmap marker = BitmapFactory.decodeResource(getResources(), R.drawable.ic_yah);
canvas.drawBitmap(marker, (float)userPos.getX(), (float)userPos.getY(), null);
imgView.setImageBitmap(fmOverlay);
}
Run Code Online (Sandbox Code Playgroud) 我试图从画布上"擦除".就像清理画布的非常简单的测试一样,我实现了以下内容:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.argb(140, 0, 0, 0));
canvas.drawColor(0, Mode.CLEAR);
}
Run Code Online (Sandbox Code Playgroud)
Color.argb(140, 0, 0, 0)设置此视图被绘制的视图以使其变暗. drawColor(0, Mode.CLEAR)使屏幕完全变黑,而不是删除之前应用的调光. 这个想法来自这里
我想保存没有透明区域的位图.
位图具有大的透明像素.
所以我想删除它
我怎样才能做到这一点?
我不能添加图片,所以用符号解释.
我不想裁剪功能.我希望使用过滤器
┌────────────────────────┐
│透明区域
│┌─────────
│裁剪此
└────────┘
└────────────────────────┘
Android画布改变颜色
我有一个有两个视图的应用程序
<com.myexample.ui.view.BackgroundView
android:id="@+id/id_draw_canvas_classroom"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:layout_weight="1"
android:background="#FFFFFFFF" />
<com.myexample.ui.view.FrontView
android:id="@+id/id_draw_canvas_user"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:layout_weight="1"
android:background="#00000000" />
Run Code Online (Sandbox Code Playgroud)
这些视图是重叠的,并且在一段时间内我在背景视图中加载信息.在此期间,我想将FrontView设置为白色,然后(当背景完成加载时)变为透明.
在FrontView中,我有一个带位图的Canvas.正在工作,如果我想将背景设置为透明,我可以这样做
canvas.drawColor(0);
Run Code Online (Sandbox Code Playgroud)
将背景设置为白色
canvas.drawColor(-1);
Run Code Online (Sandbox Code Playgroud)
但我无法改变透明白色.
谢谢
我已经在android中创建了一个简单的演示应用程序用于绘图,现在任何人都可以告诉我如何在一次单击中删除视图和清除屏幕.我尝试过如下:请帮我做... ....提前..!
main.java
package com.example.singletouch;
import com.example.singletouch.R.attr;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
ImageView pen;
SingleTouchView mDrawView;
ImageView remove;
LinearLayout pens;
LinearLayout pen1, pen2, pen3, pen4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawView = (SingleTouchView) findViewById(R.id.myview);
pen = (ImageView) findViewById(R.id.pen);
pens = (LinearLayout) findViewById(R.id.linear);
pens.setVisibility(View.GONE);
pen1 = (LinearLayout) findViewById(R.id.pen1);
pen2 = (LinearLayout) findViewById(R.id.pen2);
pen3 …Run Code Online (Sandbox Code Playgroud)