С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546

Рисование

06.02.2013, 10:51. Показов 2839. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, можно ли кинуть поверх бэкграунда прозрачный слой и рисовать на нем?
на канве вроде нельзя прозрачность ставить..
или если можно на andengine рисовать на спрайтах..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2013, 10:51
Ответы с готовыми решениями:

Рисование
Добрый день!В программирование еще новичек,прошу совета.Создаю приложение,нужно следующее: Пользователь рисует по точкам фигуру(по типу...

Рисование в NestedScrollView
здравствуйте. Изучаю Андроид самостоятельно и совсем недолго. Столкнулся с проблемой - как добраться до канваса в NestedScrollView....

Рисование линий
Здравствуйте все. Мой вопрос в том, как нарисовать линии поверх изображения так, чтобы при зумировании изображения линии соответствовали...

19
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.02.2013, 14:33
просто рисуйте поверх, в чем проблема.
или вы хотите прозрачность нарисовать?)
прозрачную красную линию голубого цвета)
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
06.02.2013, 19:30  [ТС]
нет, шеф,
нужно типа рисовать через стекло) по другую сторону стекла ставим фон, с этой рисуем, бэк не изменяется
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.02.2013, 20:04
не вижу разницы в конечном результате...

Добавлено через 6 минут
просто рисуете сначала фон, потом остальное.
0
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
06.02.2013, 20:34  [ТС]
V0v1k, можете подробней объяснить суть?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.02.2013, 20:38
Java
1
2
canvas.drawBitmap (background, matrix, paint);
canvas.drawBitmap (foreground, matrix, paint);
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
06.02.2013, 21:02  [ТС]
Спасибо,а прозрачность как задается?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.02.2013, 21:12
прозрачность - это отсутствие рисунка, просто не рисуйте и будет вам прозрачность)

или может вы хотите что-то ПОЛУпрозрачным нарисовать?
0
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
06.02.2013, 21:52  [ТС]
что то мы о разном думаем...попробую сделать на C# проттотип, потом отпишусь)
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
07.02.2013, 12:25
У Paint есть свой Alpha. Попробуйте его задать
Java
1
2
Paint p = new Paint();
p.setAlpha(127);
а потом рисовать на канвасе этим пейнтом.
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
07.02.2013, 17:42  [ТС]
мне не кисти надо прозрачность ставить, а второго слоя, на котором будут рисовать....
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
07.02.2013, 17:53
ну елки, нарисуйте полностью прозрачный прямоугольник на весь дисплей и представьте что это слой)

какого именно эффекта вы хотите добиться я не понимаю.
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
07.02.2013, 19:34  [ТС]
Цитата Сообщение от V0v1k Посмотреть сообщение
ну елки, нарисуйте полностью прозрачный прямоугольник на весь дисплей и представьте что это слой)

какого именно эффекта вы хотите добиться я не понимаю.
Вот, про это я и говорил, просто думал как нибудь аппаратно это можно задать, спасибо.
0
146 / 129 / 6
Регистрация: 29.07.2008
Сообщений: 506
08.02.2013, 11:00
Цитата Сообщение от fiphiker Посмотреть сообщение
Здравствуйте, можно ли кинуть поверх бэкграунда прозрачный слой и рисовать на нем? на канве вроде нельзя прозрачность ставить..
Конечно можно. Делаете ImageView (или просто View) на весь экран и в ней рисуете. Причём свой бэкграунд можете засетить в контейнер который содержит ваш компонент в котором будете рисовать, но можете и бэкграунд рисовать в ручную, разницы в перфомансе не будет скорее всего.
Прозрачность устанавливать можно.
Код Java(TM) 2 Platform Standard Edition 5.01 2 3 c.drawColor(Color.TRANSPARENT, Mode.CLEAR);
с - ваш канвас. эта функция зальёт ваш канвас любым цветом. Выше описано как сделать прозрачным.
PS если вам надо рисвать много быстро и ещё с анимациями - сразу предупрежу вам нужен SurfaceView (рисовать в обычном View в UI треде можно только простейшие вещи).
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
08.02.2013, 18:22  [ТС]
Почему то выводится так:
делаю так
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
package com.example.touchdrawv2;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.PorterDuff.Mode;
import android.util.Log;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
 
public class TouchDrawv2 extends Activity implements SurfaceHolder.Callback {
 
    private static final String TAG = "Svetlin SurfaceView";
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        SurfaceView view = new SurfaceView(this);
        setContentView(view);
        view.getHolder().addCallback(this);
    }
 
    public void surfaceCreated(SurfaceHolder holder) {
        tryDrawing(holder);
    }
 
    public void surfaceChanged(SurfaceHolder holder, int frmt, int w, int h) { 
        tryDrawing(holder);
    }
 
    public void surfaceDestroyed(SurfaceHolder holder) {}
 
    private void tryDrawing(SurfaceHolder holder) {
      
 
        Canvas canvas = holder.lockCanvas();
        if (canvas == null) {
            Log.e(TAG, "Cannot draw onto the canvas as it's null");
        } else {
            drawMyStuff(canvas);
            holder.unlockCanvasAndPost(canvas);
        }
    }
 
    private void drawMyStuff(final Canvas canvas) {
 
       // canvas.drawRGB(255, 0, 0);
        canvas.drawColor(Color.TRANSPARENT, Mode.CLEAR);
    }
}
0
146 / 129 / 6
Регистрация: 29.07.2008
Сообщений: 506
08.02.2013, 18:48
Цитата Сообщение от fiphiker Посмотреть сообщение
Почему то выводится так: делаю так
по умолчанию сюрфейс вью так устроен что под ним ничего нету, даже бэкграунда контейнреа (под ним пустотааа ) так что если вы хотите эфект рисования поверх чего то (картинки фотки например) то полагаю что вам сначало надо наприсовать эту вашу картинку на сюрфейсе (Canvas.drawBitmap) а потом поверх этого рисовать то что надо.
Если вы хотите что бы сюрфейсвью был прозрачный и под ним было что то - его надо делать поверх всего (такое тоже возможно, если вам это надо - отпишитесь). Состаяния что бы сюрфейс вью был между вьюхами - скорее всего добится нельзя.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.02.2013, 19:06
Цитата Сообщение от YAUHEN Посмотреть сообщение
что бы сюрфейсвью был прозрачный
можно подробнее?

Добавлено через 3 минуты
нашел такое
mPreviewThemeSurface.setZOrderOnTop(true ); // necessary
mPreviewThemeSurface.getHolder().setForm at(PixelFormat.TRANSPARENT);
1
146 / 129 / 6
Регистрация: 29.07.2008
Сообщений: 506
08.02.2013, 19:10
Цитата Сообщение от V0v1k Посмотреть сообщение
можно подробнее?
для начала вам надо опредилится надо вам это или нет (определяется так - если у вас на бэкграунде (то что будет под сюрфейсом) должно размещаться куча всего что должно быть видно и поверх этого должен быть сюрфейс - то вам скорее всего действительно надо рисовать сюрфейс поверх всего, ИНАЧЕ - сюрфейс на него бэкграунд а на бэкграунд всё остальное)

Java
1
2
SurfaceView.setZOrderOnTop(true);
SurfaceView.getHolder().setFormat(PixelFormat.TRANSPARENT);
Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
нашел такое mPreviewThemeSurface.setZOrderOnTop(true ); // necessary mPreviewThemeSurface.getHolder().setForm at(PixelFormat.TRANS PARENT);
всё правильно нашли
1
89 / 60 / 2
Регистрация: 08.03.2011
Сообщений: 546
08.02.2013, 21:01  [ТС]
Цитата Сообщение от YAUHEN Посмотреть сообщение
(такое тоже возможно, если вам это надо - отпишитесь)
да, мне надо чтоб был слой на который грузим бэк и слой на котором рисуем(прозрачный чтоб видеть рисунок на нижнем слое), то есть наложение
Спасибо за ответы.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.02.2013, 21:40
просто рисуете сначала фон, а потом на фоне рисуете что хотите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2013, 21:40
Помогаю со студенческими работами здесь

Рисование в Android
Такой вопрос, прочитал http://stackoverflow.com/questions/11126338/android-draw-canvas-view-and-list-view как можно подключить класс для...

Рисование на кнопке
Как можно из кнопки сделать что-то типа ProgressBar со статическим обновлением заднего фона. Т.е. есть EditText и одна кнопка. В...

Рисование в main
здравствуйте возник такой вопрос: В main.xml имеем разметку tablelayout, в ней одну table row, в которой находятся допустим кнопки.,т.е....

ImagView 2D рисование
Здраствуйте, мне нужно рисовать в ImagView, у меня есть код но он не работаэть, помогите пожалуйста разобратса Paint paint = new...

Рисование в определенной области
Здравствуйте. Сразу скажу, что в андроид я новичок. Нашел много примеров рисования на андроид, но ни один не подходит для моих целей. ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru