当前位置: 首页>>代码示例>>Golang>>正文


Golang C.ssize_t函数代码示例

本文整理汇总了Golang中C.ssize_t函数的典型用法代码示例。如果您正苦于以下问题:Golang ssize_t函数的具体用法?Golang ssize_t怎么用?Golang ssize_t使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了ssize_t函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: Resize

func (img *Image) Resize(width int, height int) {
	wand := img.wand

	cur_width := float64(C.MagickGetImageWidth(wand))
	cur_height := float64(C.MagickGetImageHeight(wand))

	r_width := cur_width / float64(width)
	r_height := cur_height / float64(height)

	ratio := r_height
	if r_width < r_height {
		ratio = r_width
	}

	dest_width := cur_width / ratio
	dest_height := cur_height / ratio

	crop_x := int((dest_width - float64(width)) / 2)
	crop_y := int((dest_height - float64(height)) / 2)

	if r_width > 5 && r_height > 5 {
		C.MagickSampleImage(wand, C.size_t(dest_width*5), C.size_t(dest_height*5))
	}
	C.MagickResizeImage(wand, C.size_t(dest_width), C.size_t(dest_height), C.LanczosFilter, 1)
	C.MagickCropImage(wand, C.size_t(width), C.size_t(height), C.ssize_t(crop_x), C.ssize_t(crop_y))
}
开发者ID:georgebashi,项目名称:pugholder,代码行数:26,代码来源:image.go

示例2: CropImage

/* Extracts a region of the image. */
func (w *MagickWand) CropImage(width, height uint, x, y int) error {
	if C.MagickCropImage(w.wand, C.size_t(width), C.size_t(height), C.ssize_t(x), C.ssize_t(y)) == C.MagickFalse {
		eStr, eCode := w.Exception()
		return fmt.Errorf("CropImage() failed : [%d] %s", eStr, eCode)
	}

	return nil
}
开发者ID:rli-diraryi,项目名称:paint,代码行数:9,代码来源:magick_image.go

示例3: setPixels

func (im *Image) setPixels(r *Rect, src *C.PixelPacket, ex *C.ExceptionInfo) bool {
	dst := C.GetAuthenticPixels(im.image, C.ssize_t(r.X), C.ssize_t(r.Y), C.size_t(r.Width), C.size_t(r.Height), ex)
	if dst == nil {
		return false
	}
	C.copy_pixel_packets(src, dst, C.int(r.Width*r.Height))
	if C.SyncAuthenticPixels(im.image, ex) != C.MagickTrue {
		return false
	}
	return true
}
开发者ID:kilnyy,项目名称:magick,代码行数:11,代码来源:pixel_im.go

示例4: compositeCenter

// Private: center the current wand on top of the new wand, after that, we only
// keep the new wand.
//
// Params:
// - newWand: new wand, probably going to be result of blankWand
// - x: x position on the current wand that is the center of the new wand
// - y: y position on the current wand that is the center of the new wand
//
// Example:
//  newWand := blankWand("jpg", width, height)
//  done := m.compositeCenter(newWand, 10, 10)
//
// Return boolean result of the composition
func (m *Mage) compositeCenter(newWand *C.MagickWand, x, y int) bool {
	success := C.MagickCompositeImage(
		newWand,
		m.wand,
		C.OverCompositeOp,
		C.ssize_t(x),
		C.ssize_t(y))
	C.DestroyMagickWand(m.wand)
	m.wand = newWand
	return mBoolean(success)
}
开发者ID:dqminh,项目名称:mage,代码行数:24,代码来源:mage.go

示例5: Read

func (br *BodyReader) Read(p []byte) (n int, err error) {
	m := len(p)
	var rlen C.ssize_t = C.ssize_t(0)
	c_body := C.uwsgi_request_body_read(br.wsgi_req, C.ssize_t(m), &rlen)
	if c_body == C.uwsgi.empty {
		err = io.EOF
		return 0, err
	} else if c_body != nil {
		C.memcpy(unsafe.Pointer(&p[0]), unsafe.Pointer(c_body), C.size_t(rlen))
		return int(rlen), err
	}
	err = io.ErrUnexpectedEOF
	rlen = 0
	return int(rlen), err
}
开发者ID:ahua,项目名称:c,代码行数:15,代码来源:uwsgi.go

示例6: Replace

func (e *Enchant) Replace(word, wordNew string) {
	// does the dictionary need to be loaded here?
	cWord := C.CString(word)
	defer C.free(unsafe.Pointer(cWord))

	cWordNew := C.CString(wordNew)
	defer C.free(unsafe.Pointer(cWordNew))

	cWordLen := uintptr(len(word))
	s := C.ssize_t(cWordLen)

	cWordLenNew := uintptr(len(wordNew))
	sNew := C.ssize_t(cWordLenNew)

	C.enchant_dict_store_replacement(e.dict, cWord, s, cWordNew, sNew)
}
开发者ID:coolbry95,项目名称:magicmachine,代码行数:16,代码来源:enchant.go

示例7: AppendCanvas

// Puts a canvas on top of the current one.
func (cv Canvas) AppendCanvas(source Canvas, x int, y int) bool {
	status := C.MagickCompositeImage(cv.wand, source.wand, C.OverCompositeOp, C.ssize_t(x), C.ssize_t(y))
	if status == C.MagickFalse {
		return false
	}
	return true
}
开发者ID:mishudark,项目名称:gosexy,代码行数:8,代码来源:canvas.go

示例8: Crop

// Extracts a region from the canvas.
func (cv Canvas) Crop(x int, y int, width uint, height uint) bool {
	status := C.MagickCropImage(cv.wand, C.size_t(width), C.size_t(height), C.ssize_t(x), C.ssize_t(y))
	if status == C.MagickFalse {
		return false
	}
	return true
}
开发者ID:mishudark,项目名称:gosexy,代码行数:8,代码来源:canvas.go

示例9: CompositeImage

/* Composite one image onto another at the specified offset. */
func (w *MagickWand) CompositeImage(srcWand *MagickWand, compose, x, y int) error {
	if C.MagickCompositeImage(w.wand, srcWand.wand, C.CompositeOperator(compose), C.ssize_t(x), C.ssize_t(y)) == C.MagickFalse {
		eStr, eCode := w.Exception()
		return fmt.Errorf("CompositeImage() failed : [%d] %s", eStr, eCode)
	}

	return nil
}
开发者ID:rli-diraryi,项目名称:paint,代码行数:9,代码来源:magick_image.go

示例10: Crop

// Extracts a region from the canvas.
func (self *Canvas) Crop(x int, y int, width uint, height uint) error {
	success := C.MagickCropImage(self.wand, C.size_t(width), C.size_t(height), C.ssize_t(x), C.ssize_t(y))

	if success == C.MagickFalse {
		return fmt.Errorf("Could not crop: %s", self.Error())
	}

	return nil
}
开发者ID:phacops,项目名称:canvas,代码行数:10,代码来源:canvas.go

示例11: CopyExt

func (acl *ACL) CopyExt(buffer []byte) (int64, error) {
	p := unsafe.Pointer(&buffer[0])
	l := C.ssize_t(len(buffer))
	i, err := C.acl_copy_ext(p, acl.a, l)
	if i < 0 {
		return int64(i), err
	}
	return int64(i), nil
}
开发者ID:naegelejd,项目名称:go-acl,代码行数:9,代码来源:acl.go

示例12: AppendCanvas

// Puts a canvas on top of the current one.
func (self *Canvas) AppendCanvas(source *Canvas, x int, y int) error {
	success := C.MagickCompositeImage(self.wand, source.wand, C.OverCompositeOp, C.ssize_t(x), C.ssize_t(y))

	if success == C.MagickFalse {
		return fmt.Errorf("Could not append image: %s", self.Error())
	}

	return nil
}
开发者ID:phacops,项目名称:canvas,代码行数:10,代码来源:canvas.go

示例13: Check

// Check whether a given word is in the currently loaded dictionary.
// This wraps enchant_dict_check.
// It returns a boolean value: true if the word is in the dictionary,
// false otherwise.
func (d Dict) Check(word string) bool {
	if len(word) == 0 {
		return true
	}

	cWord := (*C.char)(unsafe.Pointer((*reflect.StringHeader)(unsafe.Pointer(&word)).Data))
	size := C.ssize_t(uintptr(len(word)))

	return C.enchant_dict_check(d.dict, cWord, size) == 0
}
开发者ID:taruti,项目名称:enchant,代码行数:14,代码来源:enchant.go

示例14: Write

// Write writes len(b) bytes from b into the Fd
//
// Returns number of bytes written on success and error on failure
func (fd *Fd) Write(b []byte) (int, error) {

	n, err := C.glfs_write(fd.fd, unsafe.Pointer(&b[0]), C.size_t(len(b)), 0)
	if n == C.ssize_t(len(b)) {
		// FIXME: errno is set to EINVAL even though write is successful. This
		// is probably a bug. Remove this workaround when that gets fixed.
		err = nil
	}
	return int(n), err

}
开发者ID:kshlm,项目名称:gogfapi,代码行数:14,代码来源:fd.go

示例15: fdWrite

// write to a file descriptor
func fdWrite(fd C.int, d []byte) (n int, err error) {
	buff := make([]C.uchar, len(d))
	for i, b := range d {
		buff[i] = C.uchar(b)
	}
	res := C.uchar_write(fd, &buff[0], C.size_t(len(d)))
	if res == C.ssize_t(-1) {
		err = errors.New("write returned -1")
	} else {
		n = int(res)
	}
	return
}
开发者ID:str4d,项目名称:i2p-tools,代码行数:14,代码来源:tun.go


注:本文中的C.ssize_t函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。