我试图用推文制作图像,但其中一些包含Emojis.我正在使用PIL渲染我的图像和Symbola字体.
文本采用unicode utf-8编码,Symbola字体包含表情符号.这是代码的删节版本:
from PIL import Image, ImageFont, ImageDraw
text = u"\U0001f300" #CYCLONE emoji
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("Symbola.ttf", 60, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()
Run Code Online (Sandbox Code Playgroud)
这只是渲染和图像有两个矩形而不是表情符号
将不胜感激任何帮助或想法.
谢谢!
编辑:正如falsetru所指出的,这段代码确实在Ubuntu中运行,但它不能在Windows或Mac上运行.有任何想法吗?
我一直在尝试打开一些 RGB 图像,将数据视为 HSL 像素的 2D 数组,操作 HSL 空间中的像素,转换回 RGB 并将操作后的图像写入文件。但是我不太明白(很棒的)julia 包“颜色”和“图像”中的转换是如何工作的。
例如,我希望下面的代码(部分是按照这个SO问题的示例编写的)编写非常类似于此图像文件的内容(如test_1.png和test_2.png):

然而,下面的代码实际上会产生更暗的图像:

我应该如何重新排列数组或图像以获得我期望的输出?
using Color, Images
# Download file, read it in, convert colourspace to HSL and recast as array
fname=download("https://farm9.staticflickr.com/8725/17074451907_2381037c7d_m_d.jpg")
rgb=imread(fname)
hsl=convert(Image{HSL},float32(rgb))
hslArr=reinterpret(data(hsl))
# I would like to manipulate HSL data here...
# Two ways to convert manipulated array back to HSL image
hsl_1=Image(hslArr; colorspace="HSL", colordim=1, spatialorder=["x","y"])
hsl_2=reinterpret(HSL{Float32},hslArr)
# Two ways to convert HSL image to RGB image
rgb_1=convert(Image{RGB},hsl_1)
rgb_2=convert(Array{RGB{Float32}},hsl_2)
# …Run Code Online (Sandbox Code Playgroud) 我正在使用小样本数据:
>dput(dat.demand2050.unique)
c(79, 56, 69, 61, 53, 73, 72, 86, 75, 68, 74.2, 80, 65.6, 60, 54)
Run Code Online (Sandbox Code Playgroud)
其密度分布如下:

我知道这些值来自两个方案 - 低和高 - 并且假设基础过程是正常的,我使用该mixtools包来拟合双峰分布:
set.seed(99)
dat.demand2050.mixmdl <- normalmixEM(dat.demand2050.unique, lambda=c(0.3,0.7), mu=c(60,70), k=2)
Run Code Online (Sandbox Code Playgroud)
这给了我以下结果:

(实线是拟合曲线,虚线是原始密度).
# get the parameters of the mixture
dat.demand2050.mixmdl.prop <- dat.demand2050.mixmdl$lambda #mix proportions
dat.demand2050.mixmdl.means <- dat.demand2050.mixmdl$mu #modal means
dat.demand2050.mixmdl.dev <- dat.demand2050.mixmdl$sigma #modal std dev
Run Code Online (Sandbox Code Playgroud)
混合参数是:
>dat.demand2050.mixmdl.prop #mix proportions
[1] 0.2783939 0.7216061
>dat.demand2050.mixmdl.means #modal means
[1] 56.21150 73.08389
>dat.demand2050.mixmdl.dev #modal std dev
[1] 3.098292 6.413906
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
我想在Haskell中构建一个树,每个节点都有一个具体的数据类型.最终我想构建和使用我自己的,更复杂的类型,但我无法弄清楚如何让下面的玩具示例工作.
我想创建一个整数树,从树干的大值开始,当你向下移动到树叶时变小.
data Tree x = Empty | Node x (Tree x) (Tree x) deriving (Show, Read, Eq)
copyBox :: Int -> Tree x
copyBox x
| x <= 0 = Node x Empty Empty
| x > 0 = Node x (copyBox (x-1)) (copyBox (x-1))
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样构建一个小树:
let newtree = copyBox 3
Run Code Online (Sandbox Code Playgroud)
ghci在第5行抛出错误"无法将预期类型'x'与实际类型'Int'匹配".
如果我用上面的更通用版本替换上面的函数声明,则没有问题:
copyBox :: (Ord x, Num x) => x -> Tree x
Run Code Online (Sandbox Code Playgroud)
为什么两种情况下x的类型都不是"Int"?
color-space ×1
colors ×1
distribution ×1
emoji ×1
haskell ×1
image ×1
julia ×1
mixed-models ×1
python ×1
r ×1
recursion ×1
tree ×1
unicode ×1