def uv_corners(mesh, image=None): '''returns the four corner points of the UVTex layout for the sculpt map image''' debug(40, "primitive.uv_corners(%s, %s)" % (mesh.name, image.name)) max_vu = XYZ(-99999.0, -99999.0, 0.0) min_vu = XYZ(99999.0, 99999.0, 0.0) max_uv = XYZ(-99999.0, -99999.0, 0.0) min_uv = XYZ(99999.0, 99999.0, 0.0) current_uv = mesh.activeUVLayer mesh.activeUVLayer = 'sculptie' if image: faces = [f for f in mesh.faces if f.image == image] else: faces = mesh.faces mesh.activeUVLayer = 'UVTex' for f in faces: for i in range(len(f.verts)): v = XYZ(round(f.uv[i][0], 6), round(f.uv[i][1], 6), 0.0) max_uv = max(max_uv, v) min_uv = min(min_uv, v) v = XYZ(round(f.uv[i][1], 6), round(f.uv[i][0], 6), 0.0) max_vu = max(max_vu, v) min_vu = min(min_vu, v) min_vu = XYZ(min_vu.y, min_vu.x, 0.0) max_vu = XYZ(max_vu.y, max_vu.x, 0.0) if min_vu == min_uv: min_uv.y = max_uv.y if max_vu == max_uv: max_vu.y = min_vu.y mesh.activeUVLayer = current_uv return min_vu, min_uv, max_vu, max_uv
def color_range(image): c = image.getPixelI(0,0) min = XYZ(c[0], c[1], c[2]) max = XYZ(c[0], c[1], c[2]) for x in range(image.size[0]): for y in range(image.size[1]): c = image.getPixelI(x, y) if c[0] < min.x : min.x = c[0] if c[1] < min.y : min.y = c[1] if c[2] < min.z : min.z = c[2] if c[0] > max.x : max.x = c[0] if c[1] > max.y : max.y = c[1] if c[2] > max.z : max.z = c[2] color_range = max - min #print "min:", min #print "max:", max #bprint "dif:", color_range return color_range
def color_range(image): c = image.getPixelI(0, 0) min = XYZ(c[0], c[1], c[2]) max = XYZ(c[0], c[1], c[2]) for x in range(image.size[0]): for y in range(image.size[1]): c = image.getPixelI(x, y) if c[0] < min.x: min.x = c[0] if c[1] < min.y: min.y = c[1] if c[2] < min.z: min.z = c[2] if c[0] > max.x: max.x = c[0] if c[1] > max.y: max.y = c[1] if c[2] > max.z: max.z = c[2] color_range = max - min #print "min:", min #print "max:", max #bprint "dif:", color_range return color_range