标签: uiimagepngrepresentation

XCODE 5 iOS7 如何在不丢失透明背景的情况下将 UIImage (PNG) 转换为 NSData

我有一种方法可以接收UIImage我将其转换为NSData并发出发布该数据的请求,它适用于 iOS 6,但是当我尝试使用 iOS 7 时,图像丢失了透明背景。

这是我迄今为止尝试过的:

-(void)post:(UIImage *)firm name:
{

    int x = 350;

    NSData *imageData = UIImagePNGRepresentation(firm);
    UIImage *image=[UIImage imageWithData:imageData];
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, x, 40, 50)];
    imageView.backgroundColor = [UIColor clearColor];
    imageView.image = image;


    NSData *imageData2 = [NSData dataWithData:UIImagePNGRepresentation(firm)];
    UIImage *image2=[UIImage imageWithData:imageData2];
    UIImageView *imageView2 = [[UIImageView alloc]initWithFrame:CGRectMake(160, x, 40, 50)];
    imageView2.image = image2;

    UIImageView *imageView3 = [[UIImageView alloc]initWithFrame:CGRectMake(110, x, 40, 50)];
    imageView3.image = firm;

    UIImage * img = [UIImage imageWithData:UIImagePNGRepresentation(image)];
    UIImageView *imageView4 = …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimage uiimagepngrepresentation ios7

5
推荐指数
1
解决办法
4027
查看次数

通过json编码AJAX发送和接收imagepng输出

我使用PHP GD Library创建了一个PNG图像,根据用户输入添加了一些文本,而不是保存它,我想显示它直到用户提交更改.

他们会添加几个单词,更改字体等,因此需要显示他们的更改.我实现此功能的唯一方法是将图像保存到服务器,但它可以保存数十个图像,用于用户进行的数十次轻微更改.我需要覆盖该文件,或者如果它是正确的话,请执行以下想法.想法是创建一个临时文件进行操作.

那么,我如何将其发送到"成功回调",就像我处理的其他变量一样?我读到了如何使用ob_get_contents(),我相信应该以某种方式临时存储图像.这是怎么回事?

如何在表单页面(而不是处理PHP页面)上显示图像,这是一个很好的计划,以防止在用户提交之前保存到服务器?

// more image manipulation code above

ob_start();
imagepng( $my_img );
$imageData = ob_get_contents();
ob_clean(); 

$results = array(
'price' => $_GET['priceX'],
'imageprocessed' => base64_encode($imageData) <<<  EDIT change based on answer.
);

$json = json_encode($results);
echo $json;
?>
Run Code Online (Sandbox Code Playgroud)

编辑:这是成功回调中用于接收base64_encode的javascript.

<script type="text/javascript">
function doGen(){
var priceX = $('#couponprice').val();

$.get('processimage.php',
{priceX:priceX}, 
function(data) {
var imgFldr = '/images/';                   
data = $.parseJSON(data);
$('.price-placeholder').html(data.price);
var imageCallback = (data.couponnamecall);
$('#couponbuilt img').attr('src', 'data:image/jpeg;base64,' + imageCallback);
// ...
});
return false;
}; …
Run Code Online (Sandbox Code Playgroud)

php ajax json uiimagepngrepresentation

3
推荐指数
1
解决办法
1万
查看次数

UIImagePNGRepresentation()返回不同的字节

我有一些透明的图像,我从文件系统加载到UIImageView视图中.出于我的目的,我需要UIImageView将文件中的图像与文件系统上的文件进行比较.所以我做了类似以下的事情:

NSString *directoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *imageFile = [NSString stringWithFormat:@"%@/image.png", directoryPath];

if ([[NSData dataWithContentsOfFile:imageFile] isEqualToData:UIImagePNGRepresentation([imageView image])]) {
    NSLog(@"Equal");
} else {
    NSString *dataDescription = [[[NSData dataWithContentsOfFile:feltFile] description] substringToIndex:100];
    NSString *imageDescription = [[UIImagePNGRepresentation([backgroundImageView image]) description] substringToIndex:100]
    NSLog(@"Unequal: %@ %@", dataDescription, imageDescription);
}
Run Code Online (Sandbox Code Playgroud)

我知道他们是PNG图像.打印时,这两个描述都不是NULL.但他们是不平等的.

为什么会这样?

iphone png uiimage nsdata uiimagepngrepresentation

2
推荐指数
1
解决办法
1697
查看次数

从swift 3中的数据转换图像大小时调整大小

我想在数据库中保存图像.因此我将其转换为数据.但是,在这些步骤中,图像的宽度和高度将发生变化.它的尺寸增加了.

// Original Image Size
print("Original Image Size : \(capturedImage.size)") // Displays (320.0, 427.0)

// Convert to Data
var imageData: Data?
imageData = UIImagePNGRepresentation(capturedImage)

// Store imageData into Db.

// Convert it back
m_CarImgVw.image = UIImage(data: damageImage!.imageData!, scale: 1.0)
print("m_CarImgVw Image Size : \(m_CarImgVw.image.size)") // Displays (640.0, 854.0)
Run Code Online (Sandbox Code Playgroud)

我不希望图像大小增加!

nsdata ios uiimagepngrepresentation swift swift3

2
推荐指数
2
解决办法
685
查看次数

标签 统计

uiimagepngrepresentation ×4

nsdata ×2

uiimage ×2

ajax ×1

ios ×1

ios7 ×1

iphone ×1

json ×1

objective-c ×1

php ×1

png ×1

swift ×1

swift3 ×1