【问题标题】:Why isn't text overlaying correctly using Imgix Typesetting Endpoints为什么使用 Imgix 排版端点不能正确覆盖文本
【发布时间】:2016-10-07 05:39:10
【问题描述】:

我正在使用 Laravel。我正在尝试使用 Imgix 排版端点将员工简历置于简历图像之上。当我单独使用排版端点时,我会得到正确格式的文本。但是当我对 base64 进行编码然后附加到 Bio 图像 uri 时,图像看起来很好,但没有文本覆盖。有谁知道我做错了什么?

这里是函数

public function bioEncode($bio, $align) {

    $bioNoSpaces = str_replace(' ', '+', $bio);

    $bioTextUrl = base64_encode("http://newsong.imgix.net/~text?txt=" . $bioNoSpaces . "&txtclr=fff&txtsize=20&w=800&txtpad=20&txtfont=avenir-black&txtalign=center");

    if($align == 0) {

        $newUrl = "http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=" . $bioTextUrl . "&markalign=left,middle&markpad=0";

        return $newUrl;

    } else {

        $newUrl = "http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=" . $bioTextUrl . "&markalign=right,middle&markpad=0";

        return $newUrl;

    }

}

这里是我调用函数的地方

srcset="{{$staff->bioEncode($staff->staff_bio, $staff->desktop_img_text_side)}}"

这是我在浏览器中呈现的网址: http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=aHR0cDovL25ld3NvbmcuaW1naXgubmV0L350ZXh0P3R4dD1DYW1lcm9uK0tpbmcraXMrdGhlK2xlYWQrcGFzdG9yK29mK05ld3NvbmcrQ2h1cmNoLitQYXN0b3IrQ2FtZXJvbitob2xkcythK2JhY2hlbG9y4oCZcytkZWdyZWUraW4rY2h1cmNoK21pbmlzdHJpZXMrd2l0aCthK2NvbmNlbnRyYXRpb24raW4rcHJlYWNoaW5nK2Zyb20rU291dGhlYXN0ZXJuK1VuaXZlcnNpdHkrYW5kK2ErTWFzdGVy4oCZcytkZWdyZWUraW4rZ2VuZXJhbCt0aGVvbG9neStmcm9tK0NvbHVtYmlhK0ludGVybmF0aW9uYWwrU2VtaW5hcnkuK0hlK2FuZCtoaXMrd2lmZSwrUmFjaGVsLCtsaXZlK2luK3RoZStNb25yb2UrYXJlYSt3aXRoK3RoZWlyK2ZvdXIrZGF1Z2h0ZXJzLCtBYmJ5LCtBbGVuYSwrTWFkZGllK0dyYWNlLCthbmQrRWxpYW5hLitIZStpcythbHNvK2Erc3VjY2Vzc2Z1bCtyZWFsK2VzdGF0ZStpbnZlc3RvciwrYW5kK3RoZSthdXRob3Irb2Yr4oCcK1RoZStrZXkrdG8reW91citjaHVyY2jigJlzK3Zpc2lvbjordGhlK3ByYWN0aWNhbCtndWlkZSt0bytwcmF5aW5nK2Zvcit5b3VyK3Bhc3Rvci7igJ0rUGFzdG9yK0NhbWVyb27igJlzK3Zpc2lvbitpcyt0bytzZWUrTmV3U29uZytDaHVyY2grdG8rYmUrYStjZW50ZXIrb2YrcmV2aXZhbCtvbit0aGUrRWFzdHNpZGUrb2YrQXRsYW50YS4mdHh0Y2xyPWZmZiZ0eHRzaXplPTIwJnc9ODAwJnR4dHBhZD0yMCZ0eHRmb250PWF2ZW5pci1ibGFjayZ0eHRhbGlnbj1jZW50ZXI=&markalign=left,middle&markpad=0

在此处将其输入 Imgix 沙箱时:https://sandbox.imgix.com/create 这个网址有效。我已经对base64字符串进行了编码和解码,似乎没有任何问题。

我还是 PHP 新手,非常感谢任何帮助。

【问题讨论】:

    标签: php laravel imgix


    【解决方案1】:

    在朋友的帮助下。我解决了这个问题。在 base64_encode() 之后,尾随的等于把我弄乱了。这解决了问题:

    $bioTextUrl = strtr(base64_encode("http://newsong.imgix.net/~text?txt=" . $bioNoSpaces . "&txtclr=fff&txtsize=20&w=800&txtpad=20&txtfont=avenir-black&txtalign=center"), '=', '+');
    

    【讨论】:

      猜你喜欢
      • 2021-12-20
      • 2021-10-12
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多