- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 UIImage
上写了一个类别来调整图像的大小,就像 iphone 照片应用程序一样。
虽然插值设置为高,但图像看起来并不像照片应用程序中的图像。相反,它看起来不清晰
或模糊
。
这是我做的:
- (UIImage *)resizeImageProportionallyIntoNewSize:(CGSize)newSize;
{
CGFloat scaleWidth = 1.0f;
CGFloat scaleHeight = 1.0f;
NSLog(@"Origin Size = %@", NSStringFromCGSize(self.size));
if (CGSizeEqualToSize(self.size, newSize) == NO) {
//calculate "the longer side"
if(self.size.width > self.size.height) {
scaleWidth = self.size.width / self.size.height;
} else {
scaleHeight = self.size.height / self.size.width;
}
}
// now draw the new image in a context with scaling proportionally
UIImage *sourceImage = self;
UIImage *newImage = nil;
//now we create a context in newSize and draw the image out of the bounds of the context to get
//an proportionally scaled image by cutting of the image overlay
if([[UIScreen mainScreen] scale] == 2.00) {
UIGraphicsBeginImageContextWithOptions(newSize, YES, 2.0);
}
UIGraphicsBeginImageContext(newSize);
// Set the quality level to use when rescaling
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);
//Center image point so that on each egde is a little cutoff
CGRect thumbnailRect = CGRectZero;
thumbnailRect.size.width = (int) newSize.width * scaleWidth;
thumbnailRect.size.height = (int) newSize.height * scaleHeight;
thumbnailRect.origin.x = (int) (newSize.width - thumbnailRect.size.width) * 0.5;
thumbnailRect.origin.y = (int) (newSize.height - thumbnailRect.size.height) * 0.5;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
if(newImage == nil) NSLog(@"could not scale image");
return newImage ;
}
顺便说一句:使用或不使用高插值没有区别。也许我做错了什么。
预先感谢您的帮助!
最佳答案
制作缩略图的最佳方法是让系统使用图像 I/O 框架为您完成。唯一的技巧是,由于您使用的是 CGImage,因此您必须考虑屏幕分辨率:
CGImageSourceRef src = CGImageSourceCreateWith... // whatever
CGFloat scale = [UIScreen mainScreen].scale;
CGFloat w = // maximum size, multiplied by the scale
NSDictionary* d =
[NSDictionary dictionaryWithObjectsAndKeys:
(id)kCFBooleanTrue, kCGImageSourceShouldAllowFloat,
(id)kCFBooleanTrue, kCGImageSourceCreateThumbnailWithTransform,
(id)kCFBooleanTrue, kCGImageSourceCreateThumbnailFromImageAlways,
[NSNumber numberWithInt:(int)w], kCGImageSourceThumbnailMaxPixelSize,
nil];
CGImageRef imref =
CGImageSourceCreateThumbnailAtIndex(src, 0, (__bridge CFDictionaryRef)d);
UIImage* im =
[UIImage imageWithCGImage:imref scale:scale orientation:UIImageOrientationUp];
CFRelease(imref); CFRelease(src);
关于iphone - ios 调整拇指的图像大小 - 虽然高插值但模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13990745/
如果滚动 Pane 的 View 组件足够大,则滚动条拇指很小,因此无法在 Windows L&F 上正确绘制。 这只是一个审美问题;滚动条功能正常,其他 L&F 似乎一切都很好。 有办法解决吗?也许
我对thumbor 很陌生,但我想知道是否可以使用我还不知道的特定选项来“放大”图像。 下面的简单示例: 到目前为止,我所理解的可能是,这可能意味着调整到特定区域的大小。但是我缺乏找到正确选项的经验(
我正在使用 Slider 控件来允许用户搜索视频流中的特定位置。我将 Slider 的 Value 属性绑定(bind)到 MediaElement 的 Position 属性。 我的问题是,当用户拖
我正在使用 nivo-slider,我正在尝试制作缩略图,但我无法让它工作。 这是我所拥有的: Nino Slider Demo Here is the tutorial on how to ,但我无
ASP .NET MVC3 购物车使用 Bootstrap 3。产品页面包含主图像和可变数量的缩略图。缩略图出现在单行 如果有很多缩略图,大白出现在它们的右边。 如何增强这种布局? 如何让拇指悬浮在购
我正在尝试使用 React 的样式化组件来设计 slider 样式,但我不知道如何设计拇指样式。我有一个看起来像这样的 CSS: .faderInput::-webkit-slider-thumb {
我正在尝试在单击 .thumb 时向 img 添加一个事件类。 我想做什么: 我得到的: $(document).ready(function() { $(".thumb").click(functi
Google 在这个问题上让我失望了。我正在研究是否可以更改 SeekBar 的 Pointer/Thumb 速度。示例:我将手指滑过屏幕一半,但指针只移动了四分之一。我的想法是在 OnStartTr
是否可以像在 UIKit 中使用 UISlider 那样在 SwiftUI 中更改 Slider 的缩略图?使用 UISlider,您所要做的就是:self.setThumbImage(UIImage
我的搜索栏有以下代码 seek_thumb 是一个名为 seek_thumb.9.png 的 9 补丁图像文件。无法识别此可绘制对象且未显示拇指的问题。但是,当我删除 .9 时。从文件名开始,然后我
我正在尝试找到一种灵活的跨浏览器解决方案来实现 png 图像作为我的范围输入的缩略图,因此我可以将其从这里转换: 对此: 在 chrome 中,css 标签“input[type=range]::-w
我想更改 JScrollBar 的外观。 我通过覆盖/扩展 ScrollBarUI 来做到这一点。 通过覆盖createIncreaseButton来改变箭头按钮的外观是没有问题的。和createDe
如何在 nimbus 中使用重击 slider 的默认箭头形状? 我设置了nimbus L&F,我的拇指形状是这样的圆形,但我想要一个像这样的三角形 。我怎样才能改变它或改回它的默认值(也就是说,没有
在一个应用程序中,我有一个包含数十个项目的 Spinner。 当用户点击微调器时,会出现一个弹出对话框,显示可能的选择列表。但是,由于有(排序的)数十个项目,我希望用户能够使用快速滚动拇指(如 Lis
当用户使用硬件音量按钮更改音量时,我希望我的 MPVolumeView Slider Thumb 将其自身动画化到该位置。我该怎么做? 最佳答案 创建一个 UIView mainVolumeSlide
如何使用 css 将图像设置为范围输入类型上的缩略图 slider ?它在 Internet Explorer 中不起作用。 Chrome 和 Firefox 没问题,但在 IE 上我的图像被隐藏了还
例如,LDR r0,[r1, #4]!,r1值将更改为r1+4然后加载值到r0,但是,当我尝试使用 LDR r0,[r1, r2]! 时,r1 没有改变。 我正在使用 TM4C123GH6PGE 和
我正在为我的网站创建一个范围 slider ,它需要在所有浏览器上看起来都一样。我现在在 IE 和 Edge 中遇到 slider 拇指大小的问题。我无法将拇指的高度增加到超过 slider 轨道 C
我是一名优秀的程序员,十分优秀!