我有一些静态图像如下:

现在,我想要的是,当我触摸脸部或手部时,所选择的颜色应该填充在该皮肤部分上.
见下面的结果图:

那么如何获得上面的结果?重做和撤消功能也应该存在.
我尝试使用FloodFill颜色,但这样做我只能对特定部分进行着色.因为FloodFill只填充颜色,直到相同的pixwl颜色出现.如果触摸位置像素颜色发生变化,它将不会填充颜色.
所以Usinf FloodFill我得到了如下图像的结果,如果我按下手,那么只有手部分将填充颜色,而不是它我想要填充另一只手和脸的颜色.

所以请在这种情况下帮助我.
EDITED
一些答复后,我得到了像解决这一个.
但仍然存在内存问题.它消耗大量内存来绘制颜色.所以,任何人都可以帮助我吗?
我有像这样的图像:
现在,我想将颜色填充到该图像的特定部分.如果我选择蓝色,如果我触摸Cap,那么帽子应该填充蓝色.同样的事情也应该发生在鼻子,嘴巴,眼睛等其他部位
那么,如何才能使用android?
任何budy都可以帮助我.
更新
我已尝试在我的应用中实施FloodFill算法.看这里
但在这之后我得到了例外:
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): java.lang.IllegalStateException
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.graphics.Bitmap.setPixel(Bitmap.java:847)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at com.project.fingerpaint.FinderPaintDemo.FloodFill(FinderPaintDemo.java:284)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at com.project.fingerpaint.FinderPaintDemo.access$3(FinderPaintDemo.java:272)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at com.project.fingerpaint.FinderPaintDemo$MyView.onTouchEvent(FinderPaintDemo.java:187)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.View.dispatchTouchEvent(View.java:3766)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
03-09 17:45:16.260: ERROR/AndroidRuntime(2558): …Run Code Online (Sandbox Code Playgroud) 我在Play商店中放置了一个应用程序,我的朋友在两个设备上运行4.0.3,在尝试安装我的应用程序时收到以下消息:"您的设备与此版本不兼容".
一个设备允许它安装而另一个设备不允许.我允许API 3-15,两个设备都是4.0.3.有什么问题?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.snotyak.basicfuelcalcpro"
android:versionCode="2"
android:versionName="1.2.3" >
<uses-sdk
android:minSdkVersion="4" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name=".CalcApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MainTheme" >
<activity android:name=".CalcActivity" >
</activity>
<activity
android:name=".PrefsActivity"
android:label="@string/prefs_name" />
<activity
android:name=".CalcTabView"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".AboutActivity"></activity>
<activity android:name=".HistoryActivity" />
<activity android:name=".AnalysisActivity" />
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud) 我正在使用此代码对GlSurfaceView上的位图赋予多重效果. 应用效果,图像上,使用效果
现在,我想保存位图.他们给出了保存位图的代码,但是,整个GlSurfaceView将被保存为位图图像.相反,我想只保存位图区域以保存为图像.
有一种方法可以获取像素并从中制作位图并制作图像.例如:
public Bitmap takeScreenshot(GL10 mGL) {
final int mWidth = mEffectView.getWidth();
final int mHeight = mEffectView.getHeight();
IntBuffer ib = IntBuffer.allocate(mWidth * mHeight);
IntBuffer ibt = IntBuffer.allocate(mWidth * mHeight);
mGL.glReadPixels(0, 0, mWidth, mHeight, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, ib);
// Convert upside down mirror-reversed image to right-side up normal
// image.
for (int i = 0; i < mHeight; i++) {
for (int j = 0; j < mWidth; j++) {
ibt.put((mHeight - i - 1) * mWidth + j, ib.get(i …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中有tabBar和Edittext.
见下图:
正常屏幕:

和图像按下edittext后:

现在为什么这个tabbar与键盘一起上升.即使用户按下edittext打开键盘,我希望它仍然保持在底部.
那我该怎么办呢?
请帮帮忙吗?
我的TabBarMain活动的xml布局如下所示:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:id="@+id/LL1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight="0"/>
</LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)
所以请帮助我.
谢谢.
我正在使用Eclipse Juno进行android开发.
我正在研究包含4-5库的项目.知道是什么原因,但经过多次使用同一个项目后,My Eclipse就会挂起.另一件事是它只是在我尝试从eclipse运行应用程序时挂起.
之后我的Eclipse停止工作并处于Not Responding状态.当我点击它时,我通过关闭Eclipse获得了以下信息.信息:

我不知道造成这种情况的原因是什么.请帮我解决这个问题.
我正在使用CursorLoder类从android的媒体内容提供者获取Genre列表.下面是我的光标查询来获取类型列表.
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
// currently filtering.
Uri baseUri;
baseUri = MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI;
String[] STAR = { "*" };
return new CursorLoader(getActivity(), baseUri, STAR, null, null, null );
}
Run Code Online (Sandbox Code Playgroud)
现在,我从媒体内容提供商处获得了所有类型列表,但是我得到的数据存在问题.我也得到了之前创建的流派名称,但现在我没有歌曲.
我只想要有歌曲的流派,而不是没有歌曲的流派名称.
任何人都可以帮助我吗?
UPDATE
我可以使用下面的代码获取所有类型及其歌曲...
private void getGenresList() {
//-------------------------------------
int index;
long genreId;
int count;
Uri uri;
Cursor genrecursor;
Cursor tempcursor;
String[] proj1 = {MediaStore.Audio.Genres.NAME, MediaStore.Audio.Genres._ID};
String[] proj2={MediaStore.Audio.Media.DISPLAY_NAME};
genrecursor=getActivity().getContentResolver().query(MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI,proj1,null, null, null);
if(genrecursor.moveToFirst())
{
do{
index = genrecursor.getColumnIndexOrThrow(MediaStore.Audio.Genres.NAME);
System.out.println("GENRE NAME: "+genrecursor.getString(index));
System.out.println("======================================");
index = genrecursor.getColumnIndexOrThrow(MediaStore.Audio.Genres._ID);
genreId=Long.parseLong(genrecursor.getString(index));
uri = …Run Code Online (Sandbox Code Playgroud) android android-contentprovider simplecursoradapter android-cursorloader
我正在使用Azure认知服务自定义视觉服务来检测捕获图像中的形状.根据他们的文档,我按照他们的格式得到了回复.
但是我在绘制图像上方的形状时遇到了问题.
{
"id": "0fbda4ee-8956-4979-bf57-a252441af98d",
"project": "9ca4032b-beeb-40ad-9396-1c3fcfd9ba89",
"iteration": "27c85265-a158-4fc4-b22a-d535dd758d80",
"created": "2018-06-11T09:34:29.9496528Z",
"predictions": [
{
"probability": 0.0102891214,
"tagId": "677afcf8-bc4a-493f-b588-707663286125",
"tagName": "ball",
"boundingBox": {
"left": 0.2889924,
"top": 0.0169312358,
"width": 0.7007024,
"height": 0.8284572
}
},
{
"probability": 0.012788726,
"tagId": "ca844f08-b6c0-4d9a-9010-73945d442708",
"tagName": "cricket ball",
"boundingBox": {
"left": 0.304018974,
"top": 0.413163722,
"width": 0.299461246,
"height": 0.436399817
}
},
{
"probability": 0.0229086485,
"tagId": "ca844f08-b6c0-4d9a-9010-73945d442708",
"tagName": "cricket ball",
"boundingBox": {
"left": 0.2889924,
"top": 0.0169312358,
"width": 0.7007024,
"height": 0.8284572
}
},
{
"probability": 0.0100123268,
"tagId": "4672144d-5593-446f-be63-5144a35d0e6e",
"tagName": …Run Code Online (Sandbox Code Playgroud) computer-vision microsoft-cognitive azure-cognitive-services
android ×9
draw ×2
java ×2
audio ×1
bitmap ×1
eclipse ×1
eclipse-juno ×1
flood-fill ×1
google-play ×1
opengl-es ×1
paint ×1
record ×1
tabbar ×1
tabwidget ×1
textures ×1