El arsenal de Android – Vistas

RasmView es una biblioteca de dibujo de Android; Proporciona una vista que permite a los usuarios dibujar en un mapa de bits.

Contenidos

manifestación

https://www.youtube.com/watch?v=8qYhwjleT_8

características

  • 8 pinceles ya definidos, y puedes definir los tuyos propios.
  • Dibujar sobre imágenes.
  • Operaciones de deshacer/rehacer.
  • Acercar/alejar, rotar y mover.
  • Color de fondo personalizado.

Descargar

Grado:

dependencias {implementación ‘com.raedapps:rasmview:1.2.0’ }

Experto:

com.raedapps ramview 1.2.0

Instrucciones de uso

Agregue lo siguiente a su archivo de diseño:

RasmContext

Con RasmContext puede controlar la configuración del pincel, deshacer/rehacer, restablecer la transformación y mucho más. Se puede acceder a RasmContext desde RasmView: val rasmView = findViewById(R.id.rasmView) val rasmContext = rasmView.rasmContext

Cambiando el pincel

Puede usar BrushesRepository para obtener un pincel ya definido. val brushesRepository = BrushesRepository(resources) rasmContext.brushConfig = brushesRepository.get(Brush.Marker) Los siguientes pinceles ya están definidos: enum class Brush { Pencil, Pen, Calligraphy, AirBrush, Marker, HardEraser, SoftEraser, }

pincel de color

Para cambiar el color del pincel: rasmContext.brushColor = Color.RED rasmContext.brushColor = 0xff2187bb.toInt() //ARGB Se ignora el valor del canal alfa, puede controlar alfa configurando brushConfig.flow.

Tamaño del pincel y otras configuraciones

val brushConfig = rasmContext.brushConfig brushConfig.size = 0.5f brushConfig.flow = 0.25f brushConfig.isEraser = true

Pinceles personalizados

val myStampBitmap = … val customBrushConfig = BrushConfig() customBrushConfig.stamp = BrushStamp.BitmapStamp(myStampBitmap) customBrushConfig.size = 0.25f customBrushConfig.spacing = 0.1f rasmContext.brushConfig = customBrushConfig

Dibuja en un mapa de bits (tu propia imagen).

val imageBitmap = … //carga mapa de bits, ya sea desde URI o recurso rasmContext.setRasm(imageBitmap) rasmView.resetTransformation()

obtener dibujo

val dibujoBitmap = rasmContext.exportRasm()

color de fondo

rasmContext.setBackgroundColor(Color.NEGRO)

Deshacer rehacer

val rasmState = rasmContext.state rasmState.undo() rasmState.redo() Pero no desea mantener sus botones activados cuando no es posible deshacer/rehacer, puede escuchar las actualizaciones de estado: undoButton.setOnClickListener { rasmState.undo( ) } redoButton .setOnClickListener { rasmState.redo() } rasmState.addOnStateChangedListener { undoButton.isEnabled = rasmState.canCallUndo() redoButton.isEnabled = rasmState.canCallRedo() } undoButton.isEnabled = rasmState.canCallUndo() redoButton.isEnabled = rasmState. puedeLlamarRehacer()

Eliminar el dibujo

Habilitar rotación

rasmContext.rotationEnabled = verdadero

restablecer transformar

rasmView.resetTransformation() Si encontró un error, abra un problema.

licencia

Copyright 2022 Raed Mughaus Con licencia de Apache License, versión 2.0 (la «Licencia»); Puede usar este archivo solo de acuerdo con la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/LICENSE-2.0. Salvo que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye «TAL CUAL». SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, EXPRESAS O IMPLÍCITAS. Consulte la licencia para conocer el idioma específico que rige los permisos y las limitaciones de la licencia.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.