登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 1822|回复: 1

[lua教程] 【lua教程】调用相机拍照设置壁纸

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-7-1 08:43:12 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. require "import"
    4 W/ F4 B. w+ d- r0 \
  2. import "android.app.*"
    5 b6 q  y- S% e  S5 U
  3. import "android.os.*"
      K& Y& P+ T# E/ d
  4. import "android.widget.*") ^9 c& N3 l8 Y
  5. import "android.view.*"
    ) J. G$ ^8 {. s4 c
  6. & ^: H$ k  {6 x/ I9 G. z3 ~
  7. --activity.setTitle('AndroLua+')
    8 z& f1 E7 n8 W5 y
  8. layout={
    6 T% n4 k. _" ~: {0 z/ s' v% }
  9.   LinearLayout;( k4 O$ @, K) X/ |1 W
  10.   orientation="vertical";
    5 l$ E$ t# y" J4 `) H
  11.   layout_height="fill";
    : Z  ]0 K7 o9 U9 J9 f
  12.   id="bg";+ [6 O" f4 c* ~: E3 [* s1 m" y$ F; N
  13.   gravity="center";
    + L; h% k/ q) Y" g$ D
  14.   layout_width="fill";
    : `+ x$ b" n& Y' b2 ]" C. m$ o
  15.   {  o/ D( `/ r# g1 m5 M- M
  16.     Button;
    # Q8 I# v! D  z8 [4 L7 I8 O0 H
  17.     text="调用相机拍照";
    ) T! d3 k7 L9 d, [$ b( G( `; f
  18.     id="btn1";* d9 O& f5 Z" `6 I8 g( y
  19.   };
    5 c7 U+ H% T" p" s; n# I/ |# F
  20.   {! P( k6 p% e0 S: B" x
  21.     ImageView;' D0 C: f% |1 F; g4 L
  22.     id="img";) ^0 I; {' g7 p/ D" T
  23.   };( _! E! m  m" m( f
  24.   {
    6 k* N8 u- v. W
  25.     Button;+ o- c0 x* k, _. V0 A# W5 C9 t4 H
  26.     text="设置为桌面壁纸";
    8 z0 ^3 C' U' V  j4 u/ ~2 b
  27.     id="btn2";) ]( ]9 x8 t! v+ u& O& z7 O
  28.   };
    # x$ j* r: J+ Y8 e3 Z
  29. };' G. A) P# r. l; }+ ^6 }
  30. activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题" f7 ]4 z" X' v

  31. . N6 F6 {( s% w* S0 N7 f
  32. activity.setContentView(loadlayout(layout)), C" S! }5 \5 E; |; \5 |. _

  33. & H+ `; i3 h* F+ a9 r
  34. --导入包) i8 s- x( \" Q$ `! w4 h
  35. import "android.content.res.*"
    3 H2 X; M3 f6 M
  36. import "android.content.*"
    9 v" r0 h2 j1 D' Z+ e' }8 b/ ^
  37. import "android.provider.*"* I, F) ]) m' J- q; d- i6 R
  38. import "android.graphics.*"+ ]# P# K; l/ D4 D: l1 q8 v
  39. 6 x9 V: V+ l. s+ j0 R9 ~' M
  40. --获取桌面壁纸' J7 Q" {" `9 k9 f% N
  41. zmimg=activity.getWallpaper()# R( u2 i0 a( K# d# w
  42. bg.setBackgroundDrawable(zmimg);( c, c# r6 s4 ]# O6 b) |

  43. & Q" @6 ^, z  q% d  `/ W9 z6 O5 U

  44.   P: Z& H% u& e2 w
  45. btn2.setVisibility(View.GONE);
    # J8 |" s1 u6 Q% G  v0 g
  46. btn1.onClick=function()
    ; o! M; B1 `) D. v1 y# }- ^
  47.   --//跳转到android自带的照相机+ t" R- v( E) w' q/ r
  48.   intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    ' K+ c5 c8 ]- a! _! p
  49.   photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    % A. O5 E$ P, b# t+ `
  50.   activity.startActivityForResult(intent, 1);
    + R% Z) w5 d6 y& m% U
  51. end" J/ u  g* w, T" b4 m
  52. $ G( q6 E" |8 g3 O
  53. --//监听拍照完成后的处理1 G, J& T: g0 K" y* B4 \
  54. function onActivityResult(requestCode, resultCode, data): S* t# C  }. h/ P# T( L: K3 T
  55.   --super.onActivityResult(requestCode, resultCode, data);
    3 a3 m& C/ b. M5 X
  56.   if resultCode==activity.RESULT_OK then) |- Z8 }) }& _
  57.     --获取相机返回的数据,并转换为Bitmap图片格式
    $ F) ]5 Q* g0 c3 t  |
  58.     bundle = data.getExtras();+ W; p# ]$ s9 @
  59.     bitmap = bundle.get("data");
    9 F* |; F) m" o, [
  60.     --设置的图片也可以输入路径
    8 h( D7 `- z7 O6 ]/ z: L2 k
  61.     img.setImageBitmap(bitmap)" T* E* a. `  |9 G+ a
  62.     btn2.setVisibility(View.VISIBLE);
    ( O6 @7 ^$ g0 Y
  63.   end
    8 ^0 c) M+ ~% i& W8 A
  64. end
    3 H% [7 d$ T  d

  65. 0 J4 Y3 H6 V/ C. ]( l+ B! {

  66. ) ^5 W6 z/ O$ d' q( w/ f: h, E" R

  67. " m' K9 t" q# y  U: H
  68. function setBgImg()' J, K- l: o( m  ?" \. w
  69.   resour=activity.getBaseContext().getResources();1 a# Q( X* t7 @& L" S/ p
  70.   --//设置桌面背景
    ; P& Q# f* x% B8 _0 \
  71.   activity.setWallpaper(bitmap);
    / W' x9 k% D: C7 P- w
  72. end
      R8 v$ S/ k; D9 R' g& l; x

  73. 4 ~7 M! L* S5 H! Z6 d
  74. btn2.onClick=function()3 \! q, U2 F/ P
  75.   if pcall(setBgImg) then7 k9 L* q3 d; }+ [9 Q
  76.     print("设置成功")
    " e# i  X. r* Z8 T- W" V9 S
  77.    else, w% `( S6 o  \. G+ K  {/ y8 U
  78.     print("设置失败")$ W2 h/ h) A$ L2 D& R0 r, B: S
  79.   end0 x7 c  k& y1 W
  80. end2 n9 L" P2 c+ d# H7 p) ^& |

  81. 8 Y2 A3 J! `: p, Y) |% ]1 W% G3 J4 v
  82. 7 L4 ^+ E/ f# P% `+ m1 d6 Z
  83. , B+ C% p! Q$ O( _4 s" G# N( P5 N5 P

  84. - i$ R# {# t8 t% g. B# A, ^
复制代码

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-7-7 23:27:09 | 显示全部楼层 来自:俄罗斯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|星空社区 |网站地图

GMT+8, 2024-4-27 05:01 , Processed in 0.062440 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表