东莞企石网站设计,wordpress 事件插件,深圳建站服务中心,宜家在线设计要在版图上加中文#xff0c;如#xff1a; 可以通过如下方法实现#xff1a; 首先#xff0c;可以在ppt中加入文本框#xff0c;在文本框中输入想要加到版图上的中文内容#xff0c;如#xff0c;复旦大学#xff0c;并将文本框存为windows位图。 其次#xff0c;通…要在版图上加中文如 可以通过如下方法实现 首先可以在ppt中加入文本框在文本框中输入想要加到版图上的中文内容如复旦大学并将文本框存为windows位图。 其次通过如下代码就可以得到中文对应的版图
# Copyright (C) 2021 Luceda
from technologies import silicon_photonics
import ipkiss3.all as i3PIL_loaded False
try:from PIL import ImagePIL_loaded True
except:passtry:import ImagePIL_loaded True
except:passif not PIL_loaded:raise AssertionError( PIL should be installed)class BitmapGrating(i3.PCell):image i3.DefinitionProperty()pixel i3.ChildCellProperty()class Layout(i3.LayoutView):pixel_pitch i3.Size2Property(default(2.0, 2.0))def _generate_instances(self, insts):im self.imagew im.size[0]h im.size[1]pixels im.getdata()period_x self.pixel_pitch[0]period_y self.pixel_pitch[1]for y in range(h):pen_down Falsefor x in range(w):p pixels[x y * w]if not pen_down:if p 0:pen_down Truestart_x xelif not p 0:pen_down Falsen_x x - start_xif n_x 1:insts i3.ARef(referenceself.pixel, origin(start_x * period_x, -y * period_y),period(period_x, period_y), n_o_periods(n_x, 1))else:insts i3.SRef(referenceself.pixel, position(start_x * period_x, -y * period_y))if pen_down:n_x x - start_x 1if n_x 1:insts i3.ARef(referenceself.pixel, origin(start_x * period_x, -y * period_y),period(period_x, period_y), n_o_periods(n_x, 1))else:insts i3.SRef(referenceself.pixel, position(start_x * period_x, -y * period_y))return instsclass BitmapGratingFromFile(BitmapGrating):image i3.LockedProperty()filename i3.StringProperty()def _default_image(self):return Image.open(self.filename).convert(1)class SquareBitmapGrating(BitmapGrating):pixel i3.ChildCellProperty(lockedTrue)def _default_pixel(self):from picazzo3.phc.generic.holes import RectHolereturn RectHole(name{}_pixel.format(self.name))# return i3.Rectangle(layerself.layer,box_sizeself.pixel_size)class Layout(BitmapGrating.Layout):# passpixel_size i3.Size2Property(default(1.0, 1.0))layer i3.LayerProperty(defaulti3.TECH.PPLAYER.WG.HOLE)def _default_pixel(self):lv self.cell.pixel.get_default_view(i3.LayoutView)lv.set(radii(0.5 * self.pixel_size[0], 0.5 * self.pixel_size[1]), processself.layer.process,purposeself.layer.purpose)return lvclass SquareBitmapGratingFromFile(BitmapGratingFromFile, SquareBitmapGrating): Load a bitmap from file and convert it to a grating:SquareBitmapGratingFromFile(filename xxx, pixel_size (x,y), pixel_pitch (x,y))passif __name__ __main__:logo SquareBitmapGratingFromFile(namefudan, filenamefudan.bmp)logo_layout logo.Layout(pixel_size(1.5, 1.5), pixel_pitch(3., 3.))logo_layout.write_gdsii(fudan.gds)