网站 流程优化,WordPress用来营销,可以放友情链接的网站,安卓市场应用下载**在设计版图时往往需要加上公司或者学校的LOGO,只需要LOGO的图片#xff0c;通过代码就可以将LOGO加到版图上#xff0c;比如#xff1a; ** 通过代码可以得到版图上的LOGO: ! 代码如下#xff1a;
from si_fab import all as pdk
from ipkiss3 import all as i3i3.TECH…**在设计版图时往往需要加上公司或者学校的LOGO,只需要LOGO的图片通过代码就可以将LOGO加到版图上比如 ** 通过代码可以得到版图上的LOGO: ! 代码如下
from si_fab import all as pdk
from ipkiss3 import all as i3i3.TECH.PURPOSE.DF.POLYGON i3.TECH.PURPOSE.DRAWING
i3.TECH.PROCESS.HFW i3.TECH.PURPOSE.UNUSEDPIL_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))class Layout(BitmapGrating.Layout):pixel_size i3.Size2Property(default(1.0, 1.0))layer i3.LayerProperty(defaulti3.TECH.PPLAYER.WG.TEXT)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))pass
if __name__ __main__:logo SquareBitmapGratingFromFile(namelogo_fudan, filenamefudan.png)logo_layout logo.Layout(pixel_size(1.5, 1.5), pixel_pitch(3.0, 3.0))logo_layout.visualize()