小编Ker*_*omo的帖子

使用 UIImage pngData() 进行 CGImage 遮罩

我正在尝试快速屏蔽图像。这是我的代码:(
通常,是从 加载然后裁剪的originalImg图像,是由用户绘制、由 创建的图像)UIImagePickerControllerUIGraphicsGetImageFromCurrentImageContext()
makedImageUIGraphicsGetImageFromCurrentImageContext()

func imageMasking(_ originalImg: UIImage, maskImage: UIImage) -> UIImage {
    let cgMaskImage = maskImage.cgImage!
    let mask = CGImage(maskWidth: cgMaskImage.width, height: cgMaskImage.height, bitsPerComponent: cgMaskImage.bitsPerComponent, bitsPerPixel: cgMaskImage.bitsPerPixel, bytesPerRow: cgMaskImage.bytesPerRow, provider: cgMaskImage.dataProvider!, decode: nil, shouldInterpolate: true)!
    return UIImage(cgImage: originalImg.cgImage!.masking(mask)!)
}
Run Code Online (Sandbox Code Playgroud)

当我将结果显示UIImage到时UIImageView,效果很好。但是,当我尝试获取pngData()结果时UIImage,图像数据与 相同originalImg

我还尝试pngData()从 Xcode 导出结果图像,但它仍然与originalImg.

图片: https: //i.stack.imgur.com/pK8fK.jpg(然后单击“导出...”按钮并另存为 png 图片)

我怎样才能真正掩盖图像?

image mask masking ios swift

4
推荐指数
1
解决办法
1080
查看次数

检查用户是否已从 Node.js(云功能)登录 Firebase Auth

我正在尝试在 Node.js 上创建 Express 动态网页。我想在服务器(Firebase Cloud Functions)的路径上执行以下逻辑/

  • 如果客户端已登录(Firebase Auth),则呈现主页my_home_page.html
  • 如果客户端未登录,则渲染登录页面my_login_page.html

所以我需要实现这个isClientLoggedIn功能:

import * as functions from 'firebase-functions';
import * as express from 'express';

const app = express();

export const redirects = functions.https.onRequest(app);

app.set('views', './res');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

function isClientLoggedIn(request: Request): bool {
    return // ???
}
app.get('/', (req, res) => {
    if (isClientLoggedIn(req)) {
        res.render('my_home_page.html');
    } else {
        res.render('my_login_page.html');
    }
});
Run Code Online (Sandbox Code Playgroud)

不过我查了Firebase Auth文档,不知道如何实现这个功能。是否可以从 HTTP 请求检查客户端的登录状态,或者是否有其他方法来呈现正确的内容?

node.js firebase typescript firebase-authentication google-cloud-functions

4
推荐指数
1
解决办法
3981
查看次数