我正在创建一个UIImageView子类来检测触摸,并根据触摸移动,旋转和缩放图像.但是,我真的觉得我在这里重新发明轮子,这让我疯狂.这不应该存在吗?
有没有人有任何示例,或链接到已经这样做的类?或者,如果你有一个你写过的课程,那也是有帮助的.
非常感谢提前.
我正在使用CGAffineTransformMake转换视图.它旋转,缩放和翻译.这很好用.但我无法找到一种方法将规模限制到最大尺寸.
如果超出比例,我仍然需要应用当前的旋转和平移.
任何建议都非常感谢!
资源:
UITouch *touch1 = [sortedTouches objectAtIndex:0];
UITouch *touch2 = [sortedTouches objectAtIndex:1];
CGPoint beginPoint1 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch1);
CGPoint currentPoint1 = [touch1 locationInView:self.superview];
CGPoint beginPoint2 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch2);
CGPoint currentPoint2 = [touch2 locationInView:self.superview];
double layerX = self.center.x;
double layerY = self.center.y;
double x1 = beginPoint1.x - layerX;
double y1 = beginPoint1.y - layerY;
double x2 = beginPoint2.x - layerX;
double y2 = beginPoint2.y - layerY;
double x3 = currentPoint1.x - layerX;
double y3 = currentPoint1.y - layerY; …Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序,由API支持.对于此API用户可以上传照片.然后需要根据几个类别将这些照片缩放到几个不同的密度.
有没有推荐尺寸的任何地方或之前解决过这个问题的人?
我想我需要填写这个网格,知道调整图像大小(缩小)的大小(假设用户上传了一个4000x4000px图像,或其他什么):
Role / Screen | LDPI | MDPI | HDPI | XHDPI |
--------------------------------------------
Icon | ? | ? | ? | ? |
--------------------------------------------
Thumbnail | ? | ? | ? | ? |
--------------------------------------------
Full | ? | ? | ? | ? |
Run Code Online (Sandbox Code Playgroud)
然后,API将返回JSON响应,如下所示:
{
resources: {
icon: {
ldpi: "path",
mdpi: "path",
hdpi: "path",
xhdpi: "path",
raw: "path"
},
thumbnail: { ... },
full: { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
然后,客户端设备可以检查密度本身是什么,并使用适当的密钥路径来渲染图像.
我知道根据这个,"你应该遵循3:4:6:8缩放比率",但你怎么知道的图像应该用什么尺寸,缩放别人呢?
编辑: …
可以在jfreechart中设置轴刻度值吗?例如,我想要X轴刻度10和Y轴刻度1.
我正在使用D3和JSON数据,其功能类似于:
d3.json("http://api.json", function(jsondata) {
var data = jsondata.map(function(d) { return d.number; });
Run Code Online (Sandbox Code Playgroud)
这导致数据相等 ["2", "5", "8", "12"]
然后,如果我使用:
var x = d3.scale.linear()
.domain([0, d3.max(data)])
返回的最大值是8而不是12.我意识到这是因为8大于1中的1,但我不知道如何解决这个问题.谢谢!
我想缩小500x500px资源以适应始终由屏幕宽度决定的特定大小.
目前我使用的是Android开发者网站上的代码(有效地加载大型位图),但质量不如我在一个ImageView(作为xml中的源代码)中使用500x500px资源那么好,只是缩放ImageView而不是缩放位图.
但它很慢,我也希望扩展Bitmap内存效率和速度.
编辑:我想缩放的drawable在drawable我的应用程序的文件夹中.
Edit2:我目前的方法.

左图是无需任何修改即可有效加载大位图的方法.中心图像是通过@Salman Zaidi提供的方法完成的,并进行了一些修改:o.inPreferredConfig = Config.ARGB_8888;和o2.inPreferredConfig = Config.ARGB_8888;
右图是一个图像视图,其中图像源以xml定义,我希望用缩放的位图来达到质量.
我正在使用html2pdf将html内容与图像转换为pdf,我还添加了旋转和翻转图像的选项...现在正在成功创建pdf ...但是如果我使用css旋转或翻转任何图像
transform:rotate(90deg);
transform:scaleX(-1);
Run Code Online (Sandbox Code Playgroud)
然后在pdf文件中,图像看起来没有旋转或翻转......任何想法摆脱这个问题...请分享......或任何解决方案.
提前致谢.
为什么上面只有一个代码工作?
目前我正在使用以下内容......
image.transform = CGAffineTransformMakeRotation(M_PI/2.5);
image.transform = CGAffineTransformMakeScale(1.25, 1.25);
Run Code Online (Sandbox Code Playgroud)
我的图像缩放到125%,就像第二行所说的那样,但它根本不是旋转的.
当我翻转代码说...
image.transform = CGAffineTransformMakeScale(1.25, 1.25);
image.transform = CGAffineTransformMakeRotation(M_PI/2.5);
Run Code Online (Sandbox Code Playgroud)
我的图像已旋转但未缩放...
有没有办法在同一个代码中使用这两个?
我的viewDidLoad方法中有这些.谁能帮我?
谢谢!
基本上我有640 x 480图像,我想使用drawBitmap缩放和绘制它.为简单起见,我只想说我有854 x 480安卓屏幕.这是我的代码
MainActivity.java
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(new MainLayout(this));
}
}
class MainLayout extends RelativeLayout
{
public MainLayout(Context context)
{
super(context);
setWillNotDraw(false);
}
@Override
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background);
bitmap = Bitmap.createScaledBitmap(bitmap, 854, 480, true);
canvas.drawBitmap
(
bitmap,
null,
new Rect(0, 0, 854, 480),
null
);
}
}
Run Code Online (Sandbox Code Playgroud)
结果与我想要的不同.有什么建议吗?
如下代码:
Debug.LogWarning("updating scale fix, scalefactor: "+scaleFactor+" - Current scale is: "+cell.transform.localScale.x);
cell.transform.localScale.Set (scaleFactor,scaleFactor,scaleFactor);
Debug.LogWarning("Scale after fix: " + cell.transform.localScale.x);
Run Code Online (Sandbox Code Playgroud)
产生以下输出:
updating scale fix, scalefactor: 0.9 - Current scale is 0.8921105
UnityEngine.Debug:LogWarning(Object)
Scale after fix: 0.8921105
UnityEngine.Debug:LogWarning(Object)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我只是假设由于这些事情是紧接着发生的,因此应该更新规模。还是在框架完成之后发生?
任何帮助表示赞赏。
scale ×10
android ×3
rotation ×3
bitmap ×2
iphone ×2
transform ×2
c# ×1
class ×1
css ×1
d3.js ×1
dpi ×1
html2pdf ×1
image ×1
ios ×1
java ×1
javascript ×1
jfreechart ×1
json ×1
multi-touch ×1
objective-c ×1
resources ×1
uiimageview ×1
uitouch ×1