登录  | 立即注册

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

查看: 1818|回复: 1

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

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-7-1 08:43:12 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. require "import"  ~6 k9 f+ {' {2 {# y! T
  2. import "android.app.*"
    8 f, A! C' h' K/ B' R3 s# l
  3. import "android.os.*"
    , H8 a1 p: d9 j' D% ^+ u/ [1 W
  4. import "android.widget.*"$ {6 O/ J& l* A
  5. import "android.view.*"; }4 L  M- U) P+ e
  6. * D( G8 W# |8 k* [1 Q
  7. --activity.setTitle('AndroLua+')
    3 B3 J/ e3 Q. y
  8. layout={
    0 g6 T5 C0 n+ c+ X9 X- R
  9.   LinearLayout;: _# X- B4 g  y1 h2 L
  10.   orientation="vertical";
    + t% G( ~/ g& d4 U/ e) R9 S" B0 y) y
  11.   layout_height="fill";& Z& V6 D3 t2 D+ L
  12.   id="bg";
    2 h0 k. x; w0 E
  13.   gravity="center";
    5 K7 a8 M2 W2 D( L1 V2 d5 D
  14.   layout_width="fill";
    ' @! {9 r+ O' i( p# }/ _
  15.   {
    # S; d7 H: [4 V  Z
  16.     Button;
    % ^1 d% \+ |3 z4 n
  17.     text="调用相机拍照";
    4 v# c/ Y8 M% k: F, ]# i" [' o
  18.     id="btn1";
    0 D+ `1 p( g% \% h+ _
  19.   };! ^1 v! V  b& U- M) D
  20.   {
    " ]! E8 _$ K) g* ^$ `: S: L
  21.     ImageView;; Q" @! K, ~, e9 {
  22.     id="img";
    8 c# Q. K5 Q, n& x
  23.   };: I2 H: ?0 B) j0 ^/ N
  24.   {$ F7 L3 {2 b1 Q8 a% ~% @
  25.     Button;6 Y7 F8 o  _6 C% F7 w) Z
  26.     text="设置为桌面壁纸";6 x1 _6 E; A/ z; c0 R
  27.     id="btn2";
    % L2 d8 @( c* f& S) }6 d
  28.   };8 S( a" \- v6 {3 k% S
  29. };' i6 F# o% O# ?/ A2 T
  30. activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题
    + M8 y% Q4 L1 Z3 B
  31. & `# M1 q9 Z( u9 c$ G+ _6 O) b# u
  32. activity.setContentView(loadlayout(layout))9 R7 u  D: _9 K2 w& z: N

  33.   B3 g$ l, \) @4 T) V3 j
  34. --导入包4 Z* H4 }6 X6 t6 |
  35. import "android.content.res.*"" C7 r' a! {: p- p+ X- D/ u
  36. import "android.content.*"
    5 L  U6 h/ q! R0 g; U
  37. import "android.provider.*"% P- R0 O! {7 c( @/ y  ~
  38. import "android.graphics.*"- e! H/ a7 V: S* P+ D; {
  39. 1 T/ D; s, F3 h! x( {( ?
  40. --获取桌面壁纸
    # a  |" E% e$ I2 x
  41. zmimg=activity.getWallpaper()+ j7 Z: {6 L0 y. U
  42. bg.setBackgroundDrawable(zmimg);& ^% {- j; p5 m5 t' Y* @1 t7 h+ @
  43. " J. ~9 }. e9 G% E, z5 E8 n' c
  44. ; B8 A8 w9 X7 a* t9 H
  45. btn2.setVisibility(View.GONE);
    % _3 {$ p* l2 X  D) e
  46. btn1.onClick=function()
    , k7 d. @% {3 Y) ^8 b. J
  47.   --//跳转到android自带的照相机
    0 r7 r% p* O. R4 n
  48.   intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE);  t$ u0 j% g+ {& P  S
  49.   photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    * [' k7 a2 I8 c
  50.   activity.startActivityForResult(intent, 1);+ `4 s9 N# R3 X* ~. \
  51. end
    * p. v( |+ N  k7 |6 r+ A

  52. . f, k3 K9 z8 X! d( ?
  53. --//监听拍照完成后的处理
    ; L& |; u' O  ]( ]5 D7 m+ t) |$ v' k2 E1 x
  54. function onActivityResult(requestCode, resultCode, data)
    0 c7 E2 b! M& a* `0 f. ]
  55.   --super.onActivityResult(requestCode, resultCode, data);( M' Y0 z4 _/ u
  56.   if resultCode==activity.RESULT_OK then
    " r" u) W9 {; E
  57.     --获取相机返回的数据,并转换为Bitmap图片格式
    4 V* D' O7 o. [0 q1 i9 p
  58.     bundle = data.getExtras();( w- X) ~2 f; Z( ^
  59.     bitmap = bundle.get("data");8 P  Y5 U) A# U; i- U* b
  60.     --设置的图片也可以输入路径
    7 N+ E0 R8 E/ N
  61.     img.setImageBitmap(bitmap)- T. I8 a+ n7 G  B
  62.     btn2.setVisibility(View.VISIBLE);
    7 }$ _3 [) k) z: W# T+ k6 X
  63.   end/ ?: s% j& l# q$ [" M7 K
  64. end
    - O. S( G6 w1 m4 H6 `4 j: y
  65. . W8 t/ V. u, ?  y- F
  66.   P4 S1 `* J/ m4 y* L+ l( J  A
  67. 7 a! Z& P: u- _. z5 j/ f3 P
  68. function setBgImg()+ W* i9 r, g0 V- \3 ?9 N
  69.   resour=activity.getBaseContext().getResources();/ u  H" w4 L0 E: X5 \. q1 G
  70.   --//设置桌面背景
    : W; A0 m+ F/ b
  71.   activity.setWallpaper(bitmap);: U* h  |* q& {' }
  72. end
    , c- Y( p& X' l1 I, L

  73. % ^) m) L" m  o3 H
  74. btn2.onClick=function()$ g: K: t; u5 x) l' N0 b: d% ?- i  u
  75.   if pcall(setBgImg) then
    ! ]: n. k8 }' A- T1 i
  76.     print("设置成功")% s. x  L: w' v5 x& ?
  77.    else
    , P# ]- U- [. q" z
  78.     print("设置失败")7 A5 u. z: d4 {/ e# [( a
  79.   end: ~0 \: b& }- A  _3 l" M" q: K. f6 r% z
  80. end
    ! D2 y% d  T: x9 ^
  81. ( Y: G" p! B+ @, f5 a0 Z& y5 w

  82. $ J/ i" @. Q% \( w7 k
  83. 8 m: E2 o8 s" K8 r

  84. $ y" d* `/ ~2 O
复制代码

0

主题

2

帖子

8

积分

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 11:59 , Processed in 0.063638 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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