Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
#1

Эффект наложения картинок. Выдает ошибку, что не правильно? - Программирование Android

28.08.2012, 10:35. Просмотров 1333. Ответов 5
Метки нет (Все метки)

void saveIMG(){

myFile=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs");
myFile.mkdirs();
tmpc=new Time();
tmpc.setToNow();
myfilename="/"+Integer.toString(tmpc.monthDay)+"."
+Integer.toString(tmpc.month+1)+"."+
Integer.toString(tmpc.year)+"-"+"MYIMG.jpg";
myFile=new File(myFile,myfilename);
try {
myStream=new FileOutputStream(myFile);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
try {
instr1=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG1.jpg");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
instr2=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG2.jpg");
} catch (FileNotFoundException e) {
e.printStackTrace();
}

ImageView myview=(ImageView)findViewById(R.id.imageView1);
Options opt=new BitmapFactory.Options();
opt.inSampleSize=4;
Bitmap bitmap1=BitmapFactory.decodeStream(instr1, null, opt);
Bitmap bitmap2=BitmapFactory.decodeStream(instr2, null, opt);
newIMG=Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
if(!holder.getSurface().isValid()){
try{
canvas=holder.lockCanvas();
Paint paint=new Paint();
canvas=new Canvas(newIMG);
canvas.drawBitmap(bitmap1, 0,0, paint);
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.MULTIPLY));
canvas.drawBitmap(bitmap2, 0,0, paint);
holder.unlockCanvasAndPost(canvas);
myview.setImageBitmap(newIMG);
}finally{
Toast.makeText(getApplicationContext(), "saveIMG done", Toast.LENGTH_SHORT).show();
}
}
newIMG.compress(CompressFormat.JPEG, 100, myStream);
try {
myStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
myStream.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
MediaStore.Images.Media.insertImage(getContentResolver(),
myFile.getAbsolutePath(),
myFile.getName(),
myFile.getName());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2012, 10:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Эффект наложения картинок. Выдает ошибку, что не правильно? (Программирование Android):

Выдает ошибку в программе,что не правильно я прописал
Ввести массив F.Найти сумму элементов введенного массива, кратных числу 3....

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя...

Правильно написал программу?ошибку выдает
uses GraphABC; var i,x0,y0,x1,y1,k,a: integer; x,y: real; ...

Выдает ошибку но вроде все правильно посмотрите!
Задача в которой создается указатель второго порядка. #include <iostream>...

Выдает ошибку в типах переменных, но я не знаю как заменить их правильно
var Form1: TForm1; a:array of Integer; i:integer; implementation ...

Сортировка данных в рекордсете выдает ошибку, как сделать правильно?
VS 2005, база Аксесс Есть рекордсет, который нормально читается,...

5
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 10:59 #2
не могли бы вы написать что за ошибка и попытаться более описать что бы имеете ввиду под наложением картинок?
PS это что бы было всем понятней:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
void saveIMG(){ 
 
        myFile=new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs");
        myFile.mkdirs();
        tmpc=new Time();
        tmpc.setToNow();
        myfilename="/"+Integer.toString(tmpc.monthDay)+"."
+Integer.toString(tmpc.month+1)+"."+
Integer.toString(tmpc.year)+"-"+"MYIMG.jpg";
        myFile=new File(myFile,myfilename);
        try {
            myStream=new FileOutputStream(myFile);
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        } 
        try {
            instr1=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG1.jpg");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            instr2=new FileInputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/external_sd/My_imgs/IMG2.jpg");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 
        ImageView myview=(ImageView)findViewById(R.id.imageView1);
        Options opt=new BitmapFactory.Options();
        opt.inSampleSize=4;     
        Bitmap bitmap1=BitmapFactory.decodeStream(instr1, null, opt);
        Bitmap bitmap2=BitmapFactory.decodeStream(instr2, null, opt);
        newIMG=Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), bitmap1.getConfig());
        if(!holder.getSurface().isValid()){
        try{    
        canvas=holder.lockCanvas();
        Paint paint=new Paint();
        canvas=new Canvas(newIMG);
        canvas.drawBitmap(bitmap1, 0,0, paint);
        paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.MULTIPLY));
        canvas.drawBitmap(bitmap2, 0,0, paint);
        holder.unlockCanvasAndPost(canvas);
        myview.setImageBitmap(newIMG);
        }finally{
            Toast.makeText(getApplicationContext(), "saveIMG done", Toast.LENGTH_SHORT).show();
        }
        }
        newIMG.compress(CompressFormat.JPEG, 100, myStream);
        try {
            myStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            myStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    try {
            MediaStore.Images.Media.insertImage(getContentResolver(),
                    myFile.getAbsolutePath(),
                    myFile.getName(),
                    myFile.getName());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
0
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
28.08.2012, 11:32  [ТС] #3
Цитата Сообщение от YAUHEN Посмотреть сообщение
не могли бы вы написать что за ошибка и попытаться более описать что бы имеете ввиду под наложением картинок?
PS это что бы было всем понятней:
0


Суть дела: из списка выбирается две картинки (одна фотография, другая - рамка для нее - суть наложения рамки на фотографию). При нажатии на кнопку "сохранить", приложение принудительно закрывается. Eclipse ошибок никаких не выдает, поэтому не могу понять где что не правильно сделал.
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 11:36 #4
Цитата Сообщение от curumb Посмотреть сообщение
Eclipse ошибок никаких не выдает, поэтому не могу понять где что не правильно сделал.
для этого существует Logcat
если вам надо намалявать рамку на битмапке то поробуйте это или сразу это
0
curumb
0 / 0 / 0
Регистрация: 27.03.2010
Сообщений: 19
28.08.2012, 14:27  [ТС] #5
08-28 11:15:28.342: E/ActivityManager(71): ANR in my.camera.foto (my.camera.foto/.MainActivity)
08-28 11:15:28.342: E/ActivityManager(71): Reason: keyDispatchingTimedOut
08-28 11:15:28.342: E/ActivityManager(71): Load: 1.05 / 2.8 / 1.5
08-28 11:15:28.342: E/ActivityManager(71): CPU usage from 19069ms to 0ms ago:
08-28 11:15:28.342: E/ActivityManager(71): 4.9% 71/system_server: 3.8% user + 1% kernel / faults: 25 minor
08-28 11:15:28.342: E/ActivityManager(71): 0.5% 133/zygote: 0.3% user + 0.2% kernel / faults: 5 minor
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 34/mediaserver: 0% user + 0.1% kernel
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 41/adbd: 0% user + 0.1% kernel
08-28 11:15:28.342: E/ActivityManager(71): 0.1% 130/zygote: 0% user + 0% kernel / faults: 2 minor
08-28 11:15:28.342: E/ActivityManager(71): 0% 4/events/0: 0% user + 0% kernel
08-28 11:15:28.342: E/ActivityManager(71): 7.2% TOTAL: 5.2% user + 1.9% kernel + 0% softirq
08-28 11:15:28.342: E/ActivityManager(71): CPU usage from 3202ms to 4017ms later:
08-28 11:15:28.342: E/ActivityManager(71): 35% 71/system_server: 17% user + 18% kernel / faults: 4 minor
08-28 11:15:28.342: E/ActivityManager(71): 30% 102/InputDispatcher: 8.6% user + 22% kernel
08-28 11:15:28.342: E/ActivityManager(71): 3.7% 72/HeapWorker: 2.4% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 76/Compiler: 1.2% user + 0% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 41/adbd: 0% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 1.2% 67/logcat: 0% user + 1.2% kernel
08-28 11:15:28.342: E/ActivityManager(71): 44% TOTAL: 19% user + 25% kernel
08-28 11:15:28.472: I/InputDispatcher(71): Dropping event because the pointer is not down.
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
28.08.2012, 15:34 #6
это значит что у приложения my.camera.foto (my.camera.foto/.MainActivity) в UI потоке выполняется долго (более 5и секунд) операция которая его тормозит. все долгосрочные операции надо выполнять не в UI потоке. я бы вам посоветовал продебажить код для выяснения причины тормазов.
0
28.08.2012, 15:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2012, 15:34
Привет! Вот еще темы с решениями:

СМА Hansa PG5510A412 s/n 04454930213108 после нескольких минут выдает ошибку, выдает ошибку
Hansa PG5510A412 s/n 04454930213108 отработала 2 месяца на этом же месте,...

Выдает ошибку. что не так?
Hello! Решаю задачу с книги "Компьютерное моделирование физических процессов в...

Выдает ошибку что делать?
jtablesession::Store Failed DB function failed with error number 1054 Unknown...

Выдает ошибку, что делать?
procedure TForm1.FormCreate(Sender: TObject); var VolName, FileSysName...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru