请选择 进入手机版 | 继续访问电脑版

星空社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 432|回复: 0

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

[复制链接]

407

主题

472

帖子

1622

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1622

荣誉管理论坛元老

发表于 2021-7-1 08:43:12 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. require "import"$ n% e8 V9 B( }6 a! f' B2 Q3 K3 }, j
  2. import "android.app.*"4 S8 J" X8 d5 a( D! y* w, d
  3. import "android.os.*"6 P9 @6 r0 M; y6 {6 T, S
  4. import "android.widget.*"
    5 i/ D8 t# F  [
  5. import "android.view.*"0 W5 ?) G% ]) u# ^' @, `7 M

  6. * M9 `% V  B/ P8 @6 R& A* a: ~
  7. --activity.setTitle('AndroLua+')/ |# t% S% U- I8 r# R  {
  8. layout={
    4 Z' U4 B; z, ]: w
  9.   LinearLayout;
    % @6 ~% v  y' v; m. S7 R$ ~) j3 ]
  10.   orientation="vertical";
    + y& p& N2 u, N" C/ B2 ?! G* z; ]
  11.   layout_height="fill";0 C, E& t$ o6 D' s; g
  12.   id="bg";( [9 ]5 w# X2 P$ ^
  13.   gravity="center";4 Z, J2 ?" v" x" X1 `) |8 m# c
  14.   layout_width="fill";$ v' p1 j6 d& x' Q0 m2 u4 ^- @) }& H
  15.   {1 m4 p2 f: Q+ \' {0 k
  16.     Button;" k7 d$ H7 x1 o
  17.     text="调用相机拍照";
    0 T- ~9 M% ^2 [  _3 I& H
  18.     id="btn1";
    " Q- A  s; j+ {7 n" J+ k  R
  19.   };
    ; o: M# I$ T  E8 m5 C1 d5 K. J
  20.   {# q5 U; b* v. ]5 O
  21.     ImageView;
    / \: [5 E& Z0 {( `1 Q# A
  22.     id="img";% y* Y* ~  w6 W9 R7 q# r, J
  23.   };" ^" J+ _8 U  e6 s( s; O5 W' y+ g
  24.   {
    6 B% h( w6 C  x/ p) |; A- l" V
  25.     Button;
    3 V& Q% Y- {) o
  26.     text="设置为桌面壁纸";: t' W1 ~; @# ]# |. h
  27.     id="btn2";$ T' {1 F1 e% w
  28.   };
    7 E+ L+ L6 H' l, c3 W. ?
  29. };$ c% A" Z! P1 a0 ]
  30. activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--设置md主题
    ; ^; k& F) D0 E' ?
  31. # Y  Q  d. \) S; j' o; x$ Z
  32. activity.setContentView(loadlayout(layout))- I* o9 B9 v6 I, Y1 f3 E# `9 U

  33. 1 x1 _4 m' {. D5 S5 }+ j0 V
  34. --导入包
    ( q+ g& \% E% W& T
  35. import "android.content.res.*"
    ; K6 D# {* ]% F" r
  36. import "android.content.*"' x7 j, d3 b3 Q
  37. import "android.provider.*"
    $ U' A* M' X5 b/ U8 V" ]
  38. import "android.graphics.*"
    4 e5 @+ w7 p2 W/ G% }" r; Q% D* E, R
  39. 8 E6 c! R1 M, r7 M, ?% ]
  40. --获取桌面壁纸
    7 j# c. R- o; U8 A8 \
  41. zmimg=activity.getWallpaper()' \9 i- V; G% {/ o& p4 i
  42. bg.setBackgroundDrawable(zmimg);( p. k! {' b; u5 V6 Q

  43. / z! Y# s9 m1 l4 P3 G

  44. 7 C" m6 m. C* B) ^5 l1 [3 e
  45. btn2.setVisibility(View.GONE);
    7 Z( h+ e8 ^* J0 E
  46. btn1.onClick=function(): @- I0 k" B, J" x) s4 Q& ]" p3 C
  47.   --//跳转到android自带的照相机% i( B; i# P* O7 @! J3 U
  48.   intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE);* q' _0 g. E1 M- G5 ]
  49.   photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    , ?' H) x# K; [. [
  50.   activity.startActivityForResult(intent, 1);
    9 e! e! a8 }- @% k8 N/ u. k
  51. end
    ( u, h- u6 U! B3 T; f2 {3 {
  52. % F& ]8 s: R- o5 g2 ^
  53. --//监听拍照完成后的处理6 @1 h# E! N. i& V0 J
  54. function onActivityResult(requestCode, resultCode, data)# {' y# B6 d, J; @& K) m& n, c
  55.   --super.onActivityResult(requestCode, resultCode, data);
    ) Y& v0 w# H! r, ^6 x. a" U
  56.   if resultCode==activity.RESULT_OK then
      k# w8 I3 X# `4 T' ?" M
  57.     --获取相机返回的数据,并转换为Bitmap图片格式, M$ ^' r4 |2 q  A
  58.     bundle = data.getExtras();$ _  G7 v9 X( s- ~; g5 v5 U% x
  59.     bitmap = bundle.get("data");
    & |+ `* l9 x9 j" Q3 B' q! `
  60.     --设置的图片也可以输入路径* ?7 a* O$ R( J. t5 I
  61.     img.setImageBitmap(bitmap)
    2 d4 x8 z" c' h8 Y) U* `
  62.     btn2.setVisibility(View.VISIBLE);
    8 z5 p4 e$ g! f) g0 S! L' W) y
  63.   end$ I% e. a$ [2 l8 ]! ~& K8 d% ?$ t
  64. end( q! N0 t0 {/ g7 h2 p' h) t3 S
  65. $ ~) r' e0 p6 `% _2 }8 q% q2 g

  66. ( y( [  I5 [- N# m) g, ?/ e

  67. # Y4 b9 `, W6 P) S+ X" H* `
  68. function setBgImg()
      \+ O* |! {$ O6 W4 E
  69.   resour=activity.getBaseContext().getResources();
    * W9 h3 _3 G5 a6 o) Z# k" [, `- y9 n; p
  70.   --//设置桌面背景
    % N8 b, L$ O/ }6 @
  71.   activity.setWallpaper(bitmap);
    # R+ U$ T& y4 L3 W& y
  72. end
    ' G" t. Y8 n+ O1 m

  73. + E1 o: j! w' ?7 v
  74. btn2.onClick=function()
    . c$ B2 E9 u6 O8 [! R
  75.   if pcall(setBgImg) then
    # m/ J/ W" M/ `1 B: O& [
  76.     print("设置成功"); e% k8 a6 h9 p! x
  77.    else
    0 M; w+ H, H5 @, ^, T
  78.     print("设置失败")
    2 K# B) P9 a, K. F
  79.   end
    / u" f8 o5 D8 _0 X
  80. end
    9 }' B' \9 B/ w3 Y

  81. ! {. L6 ~- E# l+ e! e1 h1 s4 Q

  82. & Z, e7 K+ q; L) b% z8 ~

  83. 0 i+ L% ?# u4 m7 c0 S. q) L
  84. % o6 [% I: }* @6 f4 Q: M
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|星空社区

GMT+8, 2022-7-1 21:01 , Processed in 0.069581 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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