博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
保存图片到相册
阅读量:4958 次
发布时间:2019-06-12

本文共 2303 字,大约阅读时间需要 7 分钟。

 

标签: 
 分类:
cocos2dx3.11.1-Lua(12) 

保存图片到本地:

--[[

下面代码的意思是将大图plist文件中的分离出来,并保存到沙盒目录下

]]

local size = cc.Director:getInstance():getVisibleSize()

 

local plistFile = ""   --你的plist路径

local pngFile = ""   --你的大图路径

cc.SpriteFrameCache:getInstance():addSpriteFrames(plistFile)                       --加载图片进内存

local vectormap = cc.FileUtils:getInstance():getValueMapFromFile(plistFile)    --读取plist

local frames = vectormap.frames

local writablePath = cc.FileUtils:getInstance():getWritablePath()

print("writablePath is %s", writablePath)

for key,value in pairs(frames) do

    local str = key                                                                         --获得plist内的图片名

    local spr = cc.Sprite:createWithSpriteFrameName(str)

    local size = spr:getContentSize()

    local render = cc.RenderTexture:create(size.width, size.height)

    spr:setPosition(cc.p(size.width / 2, size.height / 2))

    render:begin()

    spr:visit()

    render:endToLua()

    ender:saveToFile(str, cc.IMAGE_FORMAT_PNG)          --写到文件

    print("save " .. str .. " to ".. writablePath .. str)

end

 

截屏显示:

 

 

    local size = cc.Director:getInstance():getVisibleSize()

    local function afterCaptured(succeed, outputFile)

        if succeed then

            local outputSprite = cc.Sprite:create(outputFile)

            outputSprite:setPosition(cc.p(size.width/2, size.height/2))

            self:addChild(outputSprite, 10)

            outputSprite:setScale(0.5)

        else

            print("Capture screen failed.")

        end

    end

 

    local screen = cc.MenuItemFont:create("SCREEN")

    screen:setPosition(cc.p(size.width-100, size.height-100))

    local menu = cc.Menu:create(screen)

    menu:setPosition(cc.p(0, 0))

    menu:setAnchorPoint(cc.p(0, 0))

    self:addChild(menu)

    local function menuCallBack(pSender)

        cc.utils:captureScreen(afterCaptured, "screen.png")

    end

    screen:registerScriptTapHandler(menuCallBack)

 

 

 

 

 

 

 

 

 

local writablePath = cc.FileUtils:getInstance():getWritablePath()
print("writablePath is %s", writablePath)
local bgImage = display.newSprite("bg_login.jpg"):align(display.CENTER, display.cx, display.cy)
local sizerr = bgImage:getContentSize()

local render = cc.RenderTexture:create(sizerr.width, sizerr.height)

bgImage:setPosition(cc.p(sizerr.width / 2, sizerr.height / 2))

render:begin()

bgImage:visit()

render:endToLua()

render:saveToFile("Image_richeng_bg", cc.IMAGE_FORMAT_PNG) --写到文件

print("save " .. "Image_richeng_bg" .. " to ".. writablePath .. "Image_richeng_bg")

转载于:https://www.cnblogs.com/cci8go/p/6148457.html

你可能感兴趣的文章
java线程中的interrupt,isInterrupt,interrupted方法
查看>>
where can I find source of com.android.internal.R.styleable.AlertDialog_multiChoiceItemLayout?
查看>>
ViewDragHelper详解
查看>>
Akka(43): Http:SSE-Server Sent Event - 服务端主推消息
查看>>
Developing for nRF52810(转载)
查看>>
POJ2104 K-th Number 主席树
查看>>
线程同步
查看>>
Ubuntu系统OPENGL初体验
查看>>
Java Swing学习
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>
CODE[VS] 1842 递归第一次
查看>>
20180418小测
查看>>
Spring Cloud是怎么运行的?
查看>>
12 联结表
查看>>
数字三角形
查看>>