首页 > 编程语言 >在线直播系统源码,实现在图片上涂鸦并记录涂鸦轨迹

在线直播系统源码,实现在图片上涂鸦并记录涂鸦轨迹

时间:2023-04-28 14:11:31浏览次数:32  
标签:涂鸦 layout dimen id width 直播 android height 源码

在线直播系统源码,实现在图片上涂鸦并记录涂鸦轨迹

1.activity_main.xml界面

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center"
        android:orientation="horizontal">
</LinearLayout>
    <LinearLayout
        android:id="@+id/hw"
        android:layout_width="300dp"
        android:layout_height="500dp"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="horizontal"></LinearLayout>
    <TextView
        android:id="@+id/txt_result"
        android:layout_gravity="center"
        android:layout_marginTop="@dimen/space"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="@dimen/txt_choose"
        android:textColor="@color/black"></TextView>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_marginBottom="100dp"
        android:gravity="center"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="@dimen/icon_loc"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical">
            <Button
                android:id="@+id/icon_lasso"
                android:layout_width="@dimen/icon_size"
                android:layout_height="@dimen/icon_size"
                android:background="@drawable/ic_lasso"></Button>
            <TextView
                android:id="@+id/txt_lasso"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/space"
                android:text="@string/txt_lasso"
                android:textColor="@color/black"
                android:textSize="@dimen/btn_txt_size"
                ></TextView>
        </LinearLayout>
        <LinearLayout
            android:layout_width="@dimen/icon_loc"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical">
            <Button
                android:id="@+id/icon_pen"
                android:layout_width="@dimen/icon_size"
                android:layout_height="@dimen/icon_size"
                android:background="@drawable/ic_pen"></Button>
            <TextView
                android:id="@+id/txt_pen"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/space"
                android:text="@string/txt_pen"
                android:textColor="@color/black"
                android:textSize="@dimen/btn_txt_size"
                ></TextView>
        </LinearLayout>
        <LinearLayout
            android:layout_width="@dimen/icon_loc"
            android:layout_height="match_parent"
            android:gravity="center"
            android:orientation="vertical">
            <Button
                android:id="@+id/icon_next"
                android:layout_width="@dimen/icon_size"
                android:layout_height="@dimen/icon_size"
                android:gravity="center"
                android:background="@drawable/ic_next"></Button>
            <TextView
                android:id="@+id/txt_next"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/space"
                android:text="@string/txt_next"
                android:textColor="@color/black"
                android:textSize="@dimen/btn_txt_size"
                ></TextView>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
 

2.file_paths.xml图片存储路径

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <external-cache-path path="." name="take_photo"/>
</resources>
 

 

3.mainfest文件

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.buildmaterialapplication">
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_car"
        android:label="@string/app_name"
        android:roundIcon="@drawable/ic_car"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        android:requestLegacyExternalStorage="true"
        android:usesCleartextTraffic="true"
        android:hardwareAccelerated="false"
        android:largeHeap="true">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            tools:ignore="DuplicateActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <provider
            android:authorities="com.buildmaterialapplication.fileprovider"
            android:name="androidx.core.content.FileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"/>
        </provider>
    </application>
    <supports-screens android:resizeable="true" />
</manifest>

 

 以上就是在线直播系统源码,实现在图片上涂鸦并记录涂鸦轨迹, 更多内容欢迎关注之后的文章

 

标签:涂鸦,layout,dimen,id,width,直播,android,height,源码
From: https://www.cnblogs.com/yunbaomengnan/p/17361958.html

相关文章

  • Spring理解及源码框架
    1、容器与Bean容器理解从这张图能看到重要容器有BeanFactoryConfigurableApplicationContext它们的关系是ConfigurableApplicationContext间接继承了ApplicationContext然后间接继承了BeanFactoryBeanFactory从侧面看到Spring有在用工厂模式。除此之外spring还用了单例模式、......
  • 详解八大排序(附动图和源码)
    目录......
  • 【Visual Leak Detector】核心源码剖析(VLD 1.0)
    说明使用VLD内存泄漏检测工具辅助开发时整理的学习笔记。本篇对VLD1.0源码做内存泄漏检测的思路进行剖析。同系列文章目录可见《内存泄漏检测工具》目录目录说明1.源码获取2.源码文件概览3.源码剖析3.1注册自定义AllocHook函数3.2存储调用堆栈信息3.3生成泄漏检测......
  • Semaphore源码分析
    1、Semaphore介绍计数信号量-Semaphore,常用来限制访问资源的线程数量。优点类似限流中的令牌桶算法,只有拿到信号量的线程才能执行,与令牌桶算法未拿到令牌不处理请求不同的是,在Semaphore中未拿到信号量的线程会阻塞等待,直到有某个线程释放了持有的信号量。2、Semaphore使用......
  • CountDownLatch源码分析
    1、CountDownLatch介绍CountDownLatch让一个或多个线程等待其他线程执行完成后再执行。在创建CountDownLatch对象时,必须指定线程数count,每当一个线程执行完成调用countDown()方法,线程数count减1,当count减到0时,await()方法就不再阻塞。2、CountDownLatch使用1importjava......
  • vue2源码-十六、异步组件
    异步组件Vue中异步组件的写法有很多,主要用作大的组件异步加载的markdown组件editor组件。就是先渲染一个注释标签,等组件加载完毕,最后再重新渲染forceUpdate(图片懒加载)使用异步组件会配合webpack原理:异步组件默认不会调用Vue.extend()方法所有Ctor上没有cid属性,没有cid属......
  • ubuntu2004 下源码安装boost
    ubuntu2004下源码安装boosthttps://www.aiuai.cn/aifarm1186.htmlhttps://www.boost.org/users/history/version_1_78_0.htmlhttps://cloud.tencent.com/developer/article/1804511https://stackoverflow.com/questions/12578499/how-to-install-boost-on-ubuntuboost版本在......
  • 直播电商平台开发,发布多图片上传到服务器并实现图片预览功能
    直播电商平台开发,发布多图片上传到服务器并实现图片预览功能vue页面<viewclass="container1"><imagesrc="../../static/errorImage.jpg"mode="scaleToFill"@click="upload"></image><imagev-for="iteminimglist":src=&q......
  • 直播平台搭建源码,使用EasyExcel实现导入导出功能
    直播平台搭建源码,使用EasyExcel实现导入导出功能使用,添加依赖 <dependencies> <!--https://mvnrepository.com/artifact/com.alibaba/easyexcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>......
  • 直播软件源码,好看的点赞按钮
    直播软件源码,好看的点赞按钮 <divid="mountNode"></div>classButtonextendsReact.Component{  state={  starred:false, };   handleClick(){  this.setState({   ...this.state,   starred:!this.state.starred,  }); };   ......