Search Results

Search found 19148 results on 766 pages for 'dmg image'.

Page 50/766 | < Previous Page | 46 47 48 49 50 51 52 53 54 55 56 57  | Next Page >

  • How do I restore a Windows 8 iso image to a USB disk in OS X?

    - by duci9y
    I am on OS X and have a Windows 8 Consumer Preview x64 image. My computer doesn’t have a CD drive (MacBook Air). I have a 4 GB USB drive. I want to restore that image to the USB drive. There are many tools to do that on Windows, but I can’t finger out how to do it in OS X. Please note that I can’t run a VM, as my Air is a limited use machine. What I’ve tried: Simply restore to USB. Convert the image to img and use dd. These don’t work. How do I go about doing this?

    Read the article

  • Draw images with warped triangles on a web server [migrated]

    - by epologee
    The scenario The Flash front end of my current project produces images that a web server needs to combine into a video. Both frame-rate and frame-resolution are sizeable enough that sending an image sequence to the back end is not feasible (in both time and client bandwidth). Instead, we're trying to recreate the image drawing on the back end as well. Correct and slow, or incorrect and fast The problem is that this involves quite a bit of drawing textured triangles, and two solutions we found in Python (here and there) are so inefficient, that the drawing takes about 60 seconds per frame, resulting in a whopping 7,5 hours of processing time for a 30 second clip. Unacceptable. When using a PHP-module to send commands to ImageMagick for image manipulation, the whole process is super fast (tenths of a second per frame), but ImageMagick seems to be unable to draw triangles the way we do it in the front end, so the final results do not match. Unacceptable. What I'm asking here, is if there's someone who would know a way to solve this issue, by any means necessary that would run on a web server. Warping an image Let me explain the process of the front end: Perform a Delaunay calculation on points in an image to get an evenly distributed mesh of triangles. Offset the points/vertices in the mesh, distorting or warping the image. Draw the warped triangles on a new bitmap. We can send the results (coordinates) of steps 1 and 2 to the back end, to then draw the warped triangles and save it to an image on disk (or append as a frame to the video). But that last step is what I need help with. The Question Is there an alternative to ImageMagick that can draw triangles in a bitmap? Is there some other library, like a C library, that would allow us to do this? Or could we achieve this effect more easily by switching back end technologies, like Ruby? (.Net and Java are, unfortunately, not really options right now) Many thanks. EP. P.S. I'd appreciate re-tagging efforts, I don't quite know what labels to put on this question. Thanks!

    Read the article

  • Updating Debian kernel

    - by Devator
    I'm trying to update my Debian machine to 2.6.32-46 (which is the new stable). However, after doing apt-get update my apt-cache search linux-image shows me: linux-headers-2.6.32-5-486 - Header files for Linux 2.6.32-5-486 linux-headers-2.6.32-5-686-bigmem - Header files for Linux 2.6.32-5-686-bigmem linux-headers-2.6.32-5-686 - Header files for Linux 2.6.32-5-686 linux-headers-2.6.32-5-amd64 - Header files for Linux 2.6.32-5-amd64 linux-headers-2.6.32-5-openvz-686 - Header files for Linux 2.6.32-5-openvz-686 linux-headers-2.6.32-5-vserver-686-bigmem - Header files for Linux 2.6.32-5-vser ver-686-bigmem linux-headers-2.6.32-5-vserver-686 - Header files for Linux 2.6.32-5-vserver-686 linux-headers-2.6.32-5-xen-686 - Header files for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-486 - Linux 2.6.32 for old PCs linux-image-2.6.32-5-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5-686-big mem linux-image-2.6.32-5-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM linux-image-2.6.32-5-686 - Linux 2.6.32 for modern PCs linux-image-2.6.32-5-amd64 - Linux 2.6.32 for 64-bit PCs linux-image-2.6.32-5-openvz-686-dbg - Debugging infos for Linux 2.6.32-5-openvz- 686 linux-image-2.6.32-5-openvz-686 - Linux 2.6.32 for modern PCs, OpenVZ support linux-image-2.6.32-5-vserver-686-bigmem-dbg - Debugging infos for Linux 2.6.32-5 -vserver-686-bigmem linux-image-2.6.32-5-vserver-686-bigmem - Linux 2.6.32 for PCs with 4GB+ RAM, Li nux-VServer support linux-image-2.6.32-5-vserver-686 - Linux 2.6.32 for modern PCs, Linux-VServer su pport linux-image-2.6.32-5-xen-686-dbg - Debugging infos for Linux 2.6.32-5-xen-686 linux-image-2.6.32-5-xen-686 - Linux 2.6.32 for modern PCs, Xen dom0 support linux-image-2.6-486 - Linux 2.6 for old PCs (meta-package) linux-image-2.6-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-package) linux-image-2.6-686 - Linux 2.6 for modern PCs (meta-package) linux-image-2.6-amd64 - Linux 2.6 for 64-bit PCs (meta-package) linux-image-2.6-openvz-686 - Linux 2.6 for modern PCs (meta-package), OpenVZ sup port linux-image-2.6-vserver-686-bigmem - Linux 2.6 for PCs with 4GB+ RAM (meta-packa ge), Linux-VServer support linux-image-2.6-vserver-686 - Linux 2.6 for modern PCs (meta-package), Linux-VSe rver support linux-image-2.6-xen-686 - Linux 2.6 for modern PCs (meta-package), Xen dom0 supp ort linux-image-486 - Linux for old PCs (meta-package) linux-image-686-bigmem - Linux for PCs with 4GB+ RAM (meta-package) linux-image-686 - Linux for modern PCs (meta-package) linux-image-amd64 - Linux for 64-bit PCs (meta-package) linux-image-openvz-686 - Linux for modern PCs (meta-package), OpenVZ support linux-image-vserver-686-bigmem - Linux for PCs with 4GB+ RAM (meta-package), Lin ux-VServer support linux-image-vserver-686 - Linux for modern PCs (meta-package), Linux-VServer sup port linux-image-xen-686 - Linux for modern PCs (meta-package), Xen dom0 support So, 2.6.32-46 doesn't seem to be found. How can I update to this kernel? My sources.list: ###### Debian Main Repos deb http://ftp.nl.debian.org/debian/ squeeze main contrib deb-src http://ftp.nl.debian.org/debian/ squeeze main contrib ###### Debian Update Repos deb http://security.debian.org/ squeeze/updates main contrib deb http://ftp.nl.debian.org/debian/ squeeze-proposed-updates main contrib deb-src http://security.debian.org/ squeeze/updates main contrib deb-src http://ftp.nl.debian.org/debian/ squeeze-proposed-updates main contrib

    Read the article

  • How to determine edges in an image optimally?

    - by SorinA.
    I recently was put in front of the problem of cropping and resizing images. I needed to crop the 'main content' of an image for example if i had an image similar to this: the result should be an image with the msn content without the white margins(left& right). I search on the X axis for the first and last color change and on the Y axis the same thing. The problem is that traversing the image line by line takes a while..for an image that is 2000x1600px it takes up to 2 seconds to return the CropRect = x1,y1,x2,y2 data. I tried to make for each coordinate a traversal and stop on the first value found but it didn't work in all test cases..sometimes the returned data wasn't the expected one and the duration of the operations was similar.. Any idea how to cut down the traversal time and discovery of the rectangle round the 'main content'? public static CropRect EdgeDetection(Bitmap Image, float Threshold) { CropRect cropRectangle = new CropRect(); int lowestX = 0; int lowestY = 0; int largestX = 0; int largestY = 0; lowestX = Image.Width; lowestY = Image.Height; //find the lowest X bound; for (int y = 0; y < Image.Height - 1; ++y) { for (int x = 0; x < Image.Width - 1; ++x) { Color currentColor = Image.GetPixel(x, y); Color tempXcolor = Image.GetPixel(x + 1, y); Color tempYColor = Image.GetPixel(x, y + 1); if ((Math.Sqrt(((currentColor.R - tempXcolor.R) * (currentColor.R - tempXcolor.R)) + ((currentColor.G - tempXcolor.G) * (currentColor.G - tempXcolor.G)) + ((currentColor.B - tempXcolor.B) * (currentColor.B - tempXcolor.B))) > Threshold)) { if (lowestX > x) lowestX = x; if (largestX < x) largestX = x; } if ((Math.Sqrt(((currentColor.R - tempYColor.R) * (currentColor.R - tempYColor.R)) + ((currentColor.G - tempYColor.G) * (currentColor.G - tempYColor.G)) + ((currentColor.B - tempYColor.B) * (currentColor.B - tempYColor.B))) > Threshold)) { if (lowestY > y) lowestY = y; if (largestY < y) largestY = y; } } } if (lowestX < Image.Width / 4) cropRectangle.X = lowestX - 3 > 0 ? lowestX - 3 : 0; else cropRectangle.X = 0; if (lowestY < Image.Height / 4) cropRectangle.Y = lowestY - 3 > 0 ? lowestY - 3 : 0; else cropRectangle.Y = 0; cropRectangle.Width = largestX - lowestX + 8 > Image.Width ? Image.Width : largestX - lowestX + 8; cropRectangle.Height = largestY + 8 > Image.Height ? Image.Height - lowestY : largestY - lowestY + 8; return cropRectangle; } }

    Read the article

  • Image manipulation

    - by portoalet
    Hi, I am just wondering what kind of computing/programming language/frameworks are needed to produce images such as the one in http://www.erdas.com/ ? Programmatically, how does one produce the general spatial analysis images ? ps: I use java most of the time. Thanks

    Read the article

  • jquery find image based on "align"

    - by SoulieBaby
    Hi all, I'm trying to find all the images on a page based on their alignment (no class or id attached to these images), although I'm not sure how to do it. Basically I want to add CSS to images which are aligned to the right, yet leave the other images as they are. If anyone could help out, that'd be great :)

    Read the article

  • Crop image in flex using a non-rectangular shape

    - by Irwin
    Hi I've been following this tutorial to crop images in flex: http://code.mediablur.com/ImageCropper/ImageCropperDemo.html. At the heart of its cropping is using a method called "copyPixels". However, this method takes as one of its arguments a rectangular shape for its crop region. Are there other strategies I can use to crop it not using a rectangle. I am going after letting the user specify the region that should be cropped using a series of points.

    Read the article

  • CSS sliding door background image problem.

    - by ethyreal
    I noticed I am not the first to ask about CSS sliding doors. However this seems (at least to me) to be a rather odd problem which I have not seen an answer for. Trying to create a simple rounded corner link button: html: <a href="#" class="link_button"><span>Add A New Somthing</span></a> css: .link_button { background: transparent url('img/backgrounds/bg-buttonRight.png') no-repeat scroll top right; color: #444; display: block; float: left; font: normal 12px arial; height: 41px; margin-right: 6px; padding-right: 14px; text-decoration: none; } .link_button span { background: transparent url('img/backgrounds/bg-buttonLeft.png') no-repeat top left; display: block; line-height: 31px; padding: 5px 0 5px 14px; } .link_button:active { background-position: bottom right; color: #000; outline: none; } .link_button:active span { background-position: bottom left; padding: 6px 0 4px 18px; } results: The two images are overlapping, which is what I want, but why the discoloration? Why would one be darker? I tried using png jpg, gif, with and without transparency. I posted the code here, along with another attempt using only one jpg instead of two, but still the same results. Did I miss something? Thanks in advance.

    Read the article

  • How can you replace the src of an image that points to mjpeg?

    - by user165623
    I have an application that displays images from network cameras. The application will show multiple images on a single page. Each image container has a button on it that causes jQuery to scale that image up to fill a 64x480 div vs much smaller when multiple images are present. I change the src in the image with jquery as you'd expect: $("#imageId").attr("src", "http://cameraUrl.com:6000?width=640&height=480&d="+date.getTime()); the date.getTime() is intended to override the caching in a browser. It works for retrieving still images. Sometimes the video changes to the larger resolution. Other times it just sticks with the original image scaled up to fit the larger div as if it is not loading the new URL. This is evident by the fact it's grainy and the text overlay from the camera is scaled up. Occasionally the image finally loads in the higher resolution version and it works evidenced by the image clarity and the text overlay scaling to what it should be. Is there a correct way to force the setting of an image src where the src points to a motion jpeg stream to reload?

    Read the article

  • Crystal Reports Programmatic Image Resizing... Scale?

    - by C. Griffin
    I'm working with a Crystal Reports object in Visual Studio 2008 (C#). The report is building fine and the data is binding correctly. However, when I try to resize an IBlobFieldObject from within the source, the scale is getting skewed. Two notes about this scenario. Source image is 1024x768, my max width and height are 720x576. My math should be correct that my new image size will be 720x540 (to fit within the max width and height guidelines). The ratio is wrong when I do this though: img = Image.FromFile(path); newWidth = img.Size.Width; newHeight = img.Size.Height; if ((img.Size.Width > 720) || (img.Size.Height > 576)) { double ratio = Convert.ToDouble(img.Size.Width) / Convert.ToDouble(img.Size.Height); if (ratio > 1.25) // Adjust width to 720, height will fall within range { newWidth = 720; newHeight = Convert.ToInt32(Convert.ToDouble(img.Size.Height) * 720.0 / Convert.ToDouble(img.Size.Width)); } else // Adjust height to 576, width will fall within range { newHeight = 576; newWidth = Convert.ToInt32(Convert.ToDouble(img.Size.Width) * 576.0 / Convert.ToDouble(img.Size.Height)); } imgRpt.Section3.ReportObjects["image"].Height = newHeight; imgRpt.Section3.ReportObjects["image"].Width = newWidth; } I've stepped through the code to make sure that the values are correct from the math, and I've even saved the image file out to make sure that the aspect ratio is correct (it was). No matter what I try though, the image is squashed--almost as if the Scale values are off in the Crystal Reports designer (they're not). Thanks in advance for any help!

    Read the article

  • Image sliding control using wpf

    - by Geetha
    Hi All, I want to create a slider with images like youtube(floating images with left and right navigation button). How i have to start. i am new to wpf. for example: http://blog.wpfwonderland.com/page/4/ Geetha.

    Read the article

  • I want to change DPI with Imagemagick without changing the actual byte-size of the image data

    - by user1694803
    I feel so horribly sorry that I have to ask this question here, but after hours of researching how to do an actually very simple task I'm still failing... In Gimp there is a very simple way to do what I want. I only have the German dialog installed but I'll try to translate it. I'm talking about going to "Picture-PrintingSize" and then adjusting the Values "X-Resolution" and "Y-Resolution" which are known to me as so called DPI values. You can also choose the format which by default is "Pixel/Inch". (In German the dialog is "Bild-Druckgröße" and there "X-Auflösung" and "Y-Auflösung") Ok, the values there are often "72" by default. When I change them to e.g. "300" this has the effect that the image stays the same on the computer, but if I print it, it will be smaller if you look at it, but all the details are still there, just smaller - it has a higher resolution on the printed paper (but smaller size... which is fine for me). I am often doing that when I am working with LaTeX, or to be exact with the command "pdflatex" on a recent Ubuntu-Machine. When I'm doing the above process with Gimp manually everything works just fine. The images will appear smaller in the resulting PDF but with high printing quality. What I am trying to do is to automate the process of going into Gimp and adjusting the DPI values. Since Imagemagick is known to be superb and I used it for many other tasks I tried to achieve my goal with this tool. But it does just not do what I want. After trying a lot of things I think this actually is be the command that should be my friend: convert input.png -density 300 output.png This should set the DPI to 300, as I can read everywhere in the web. It seems to work. When I check the file it stays the same. file input.png output.png input.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced output.png: PNG image data, 611 x 453, 8-bit grayscale, non-interlaced When I use this command, it seems like it did what I wanted: identify -verbose output.png | grep 300 Resolution: 300x300 PNG:pHYs : x_res=300, y_res=300, units=0 (Funny enough, the same output comes for input.png which confuses me... so this might be the wrong parameters to watch?) But when I now render my TeX with "pdflatex" the image is still big and blurry. Also when I open the image with Gimp again the DPI values are set to "72" instead of "300". So there actually was no effect at all. Now what is the problem here. Am I getting something completely wrong? I can't be that wrong since everything works just fine with Gimp... Thanks for any help in this. I am also open to other automated solutions which are easily done on a Linux system...

    Read the article

  • insert an image in a tablelayout without streching it android

    - by Sephy
    Hi, I'm having some trouble getting pictures inside a tablelayout...actually, each I have 2 columns and when i put a picture in a cell of the table, it's completely streched and disproportionnated...I can't find how to make it stay it's original inside the cell and let the rest of the space filled by white background for instance.... XML is like that : <TableLayout android:layout_width="fill_parent" android:stretchColumns="*" android:layout_marginLeft="3dip" android:layout_marginRight="10dip" android:layout_height="wrap_content"> <TableRow android:layout_marginBottom="10dip"> <TextView android:id="@+id/tv01" android:text="text1" android:textSize="14sp" android:layout_margin="1dip" android:layout_height="wrap_content" android:textColor="@color/bleuLink" android:layout_width="wrap_content" android:layout_weight="1" android:background="@color/background"></TextView> <Button android:id="@+id/add" android:background="@drawable/addressbook" android:layout_height="wrap_content" android:layout_width="wrap_content"></Button> <Button android:id="@+id/call" android:background="@drawable/greenphone" android:layout_height="wrap_content" android:layout_width="wrap_content"></Button> help plz, thx

    Read the article

  • Python mechanize to follow image links?

    - by Shark
    mechanize's Browser class is great and it's follow_link() function is great too. But what to do with this kind of links: <a href="http://example.com"><img src="…"></a> Is there any way to follow such links? The text attribute of this type of links is simply '[IMG]', so AFAIK, there is no way to differentiate such links. Any help would be appreciated.

    Read the article

  • importing .png image into flash CS3

    - by new
    While importing a .png file in Flash CS3, i noticed that it automatically gets resized. It gets imported smaller than its original size. Im importing it to the stage and not inside any symbol. Can anyone explain why this happens? Do i have to change any settings to get the original size as it is?

    Read the article

  • Removing old kernel entries in Grub

    - by To Do
    I regularly delete old kernels leaving only the latest two entries using Synaptic. I'm using Precise. However in my Grub "previous Linux version" menu there are quite a few entries labelled 2.6.8. I cannot find these linux-images in Synaptic. dpkg -l | grep linux-image Gives: rc linux-image-3.0.0-17-generic 3.0.0-17.30 Linux kernel image for version 3.0.0 on x86/x86_64 ii linux-image-3.2.0-27-generic 3.2.0-27.43 Linux kernel image for version 3.2.0 on 32 bit x86 SMP ii linux-image-3.2.0-29-generic 3.2.0-29.46 Linux kernel image for version 3.2.0 on 32 bit x86 SMP ii linux-image-3.4.0-030400-generic 3.4.0-030400.201205210521 Linux kernel image for version 3.4.0 on 32 bit x86 SMP ii linux-image-generic 3.2.0.29.31 Generic Linux kernel image Sudo update-grub gives: Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.4.0-030400-generic Found initrd image: /boot/initrd.img-3.4.0-030400-generic Found linux image: /boot/vmlinuz-3.2.0-29-generic Found initrd image: /boot/initrd.img-3.2.0-29-generic Found linux image: /boot/vmlinuz-3.2.0-27-generic Found initrd image: /boot/initrd.img-3.2.0-27-generic Found linux image: /boot/vmlinuz-2.6.38-11-generic Found initrd image: /boot/initrd.img-2.6.38-11-generic Found linux image: /boot/vmlinuz-2.6.38-10-generic Found initrd image: /boot/initrd.img-2.6.38-10-generic Found linux image: /boot/vmlinuz-2.6.38-8-generic Found initrd image: /boot/initrd.img-2.6.38-8-generic Found memtest86+ image: /boot/memtest86+.bin Found Windows Vista (loader) on /dev/sda1 sudo apt-get remove linux-image-2.6.8-8-generic gives: E: Unable to locate package linux-image-2.6.8-8-generic E: Couldn't find any package by regex 'linux-image-2.6.8-8-generic' My boot folder contains the following: abi-2.6.38-10-generic initrd.img-3.4.0-030400-generic abi-2.6.38-11-generic memtest86+.bin abi-2.6.38-8-generic memtest86+_multiboot.bin abi-3.2.0-27-generic System.map-2.6.38-10-generic abi-3.2.0-29-generic System.map-2.6.38-11-generic abi-3.4.0-030400-generic System.map-2.6.38-8-generic config-2.6.38-10-generic System.map-3.2.0-27-generic config-2.6.38-11-generic System.map-3.2.0-29-generic config-2.6.38-8-generic System.map-3.4.0-030400-generic config-3.2.0-27-generic vmcoreinfo-2.6.38-10-generic config-3.2.0-29-generic vmcoreinfo-2.6.38-11-generic config-3.4.0-030400-generic vmcoreinfo-2.6.38-8-generic extlinux vmlinuz-2.6.38-10-generic grub vmlinuz-2.6.38-11-generic initrd.img-2.6.38-10-generic vmlinuz-2.6.38-8-generic initrd.img-2.6.38-11-generic vmlinuz-3.2.0-27-generic initrd.img-2.6.38-8-generic vmlinuz-3.2.0-29-generic initrd.img-3.2.0-27-generic vmlinuz-3.4.0-030400-generic initrd.img-3.2.0-29-generic and ls -l /etc/grub.d yields: total 56 -rwxr-xr-x 1 root root 6715 Apr 17 20:16 00_header -rwxr-xr-x 1 root root 5522 Oct 1 2011 05_debian_theme -rwxr-xr-x 1 root root 7407 May 17 09:22 10_linux -rwxr-xr-x 1 root root 6335 Apr 17 20:16 20_linux_xen -rwxr-xr-x 1 root root 1588 May 3 2011 20_memtest86+ -rwxr-xr-x 1 root root 7603 Apr 17 20:16 30_os-prober -rwxr-xr-x 1 root root 214 Oct 1 2011 40_custom -rwxr-xr-x 1 root root 95 Oct 1 2011 41_custom -rw-r--r-- 1 root root 483 Oct 1 2011 README gdisk -l /dev/sda yields: Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present *************************************************************** Found invalid GPT and valid MBR; converting MBR to GPT format. *************************************************************** Disk /dev/sda: 312581808 sectors, 149.1 GiB Logical sector size: 512 bytes Disk identifier (GUID): F832A498-05E1-4615-B5B1-757ACB4A757A Partition table holds up to 128 entries First usable sector is 34, last usable sector is 312581774 Partitions will be aligned on 2048-sector boundaries Total free space is 4183661 sectors (2.0 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 61442047 29.3 GiB 0700 Microsoft basic data 3 163842048 169986047 2.9 GiB 8200 Linux swap 4 169986048 312578047 68.0 GiB 0700 Microsoft basic data 5 61444096 159666175 46.8 GiB 8300 Linux filesystem Please help with removing the old and inexistent kernels from Grub.

    Read the article

  • Free image uploader with CKEditor

    - by Zakaria
    Hi everybody, I'm using CKEditor to allow the users sending nice rich texts. The problem is that, with the very new version, we must couple it with CKFinder (which requires a license key if deployed) to allow the users "exploring the server" or downloading the images. Is there another free plugin than CKFinder? Should I go back to the FCKEditor rather than the CKEditor? Thank you, Regards.

    Read the article

  • space around div with background image

    - by samoyed
    Hi to all, i'm trying to create a frame that will contain a dynamic amount of text. it has rounded corners so a created 3 divs:top, body and bottom. body will hold the content while top & bottom only display the respective images of the frame. all this can be seen here: http://www.m-challenge.com/nimrod/modular_frame.php the problem: there is a space those top and bottom divs and the middle one. please take a look and any input would be highly appreciated. have a nice day :-)

    Read the article

  • Flash or good JavaScripit Image Filmstrip

    - by Ben
    I have looked all over the internet for this and I can't find one anywhere. I'm just looking for a simple flash or a nice javascript filmstrip. I'm happy to pay for this too. Only features it must have are, resizable and be able to add remove images etc. Thanks Ben

    Read the article

  • Easiest Java image processing solution

    - by Daniel Fath
    Here is the deal, in my Java project I have to make a composite document that combines both text and images; So I'm looking for a way to manipulate pictures (rotate, change size, that sort of thing). The API I'm looking for should be clear and easy to learn (preferably with some examples), it should cover the basic transformations I made above - rotate,change size, eventually crop.

    Read the article

  • rotating bitmaps. In code.

    - by Marco van de Voort
    Is there a faster way to rotate a large bitmap by 90 or 270 degrees than simply doing a nested loop with inverted coordinates? The bitmaps are 8bpp and typically 2048*2400*8bpp Currently I do this by simply copying with argument inversion, roughly (pseudo code: for x = 0 to 2048-1 for y = 0 to 2048-1 dest[x][y]=src[y][x]; (In reality I do it with pointers, for a bit more speed, but that is roughly the same magnitude) GDI is quite slow with large images, and GPU load/store times for textures (GF7 cards) are in the same magnitude as the current CPU time. Any tips, pointers? An in-place algorithm would even be better, but speed is more important than being in-place. Target is Delphi, but it is more an algorithmic question. SSE(2) vectorization no problem, it is a big enough problem for me to code it in assembler Duplicates How do you rotate a two dimensional array?. Follow up to Nils' answer Image 2048x2700 - 2700x2048 Compiler Turbo Explorer 2006 with optimization on. Windows: Power scheme set to "Always on". (important!!!!) Machine: Core2 6600 (2.4 GHz) time with old routine: 32ms (step 1) time with stepsize 8 : 12ms time with stepsize 16 : 10ms time with stepsize 32+ : 9ms Meanwhile I also tested on a Athlon 64 X2 (5200+ iirc), and the speed up there was slightly more than a factor four (80 to 19 ms). The speed up is well worth it, thanks. Maybe that during the summer months I'll torture myself with a SSE(2) version. However I already thought about how to tackle that, and I think I'll run out of SSE2 registers for an straight implementation: for n:=0 to 7 do begin load r0, <source+n*rowsize> shift byte from r0 into r1 shift byte from r0 into r2 .. shift byte from r0 into r8 end; store r1, <target> store r2, <target+1*<rowsize> .. store r8, <target+7*<rowsize> So 8x8 needs 9 registers, but 32-bits SSE only has 8. Anyway that is something for the summer months :-) Note that the pointer thing is something that I do out of instinct, but it could be there is actually something to it, if your dimensions are not hardcoded, the compiler can't turn the mul into a shift. While muls an sich are cheap nowadays, they also generate more register pressure afaik. The code (validated by subtracting result from the "naieve" rotate1 implementation): const stepsize = 32; procedure rotatealign(Source: tbw8image; Target:tbw8image); var stepsx,stepsy,restx,resty : Integer; RowPitchSource, RowPitchTarget : Integer; pSource, pTarget,ps1,ps2 : pchar; x,y,i,j: integer; rpstep : integer; begin RowPitchSource := source.RowPitch; // bytes to jump to next line. Can be negative (includes alignment) RowPitchTarget := target.RowPitch; rpstep:=RowPitchTarget*stepsize; stepsx:=source.ImageWidth div stepsize; stepsy:=source.ImageHeight div stepsize; // check if mod 16=0 here for both dimensions, if so -> SSE2. for y := 0 to stepsy - 1 do begin psource:=source.GetImagePointer(0,y*stepsize); // gets pointer to pixel x,y ptarget:=Target.GetImagePointer(target.imagewidth-(y+1)*stepsize,0); for x := 0 to stepsx - 1 do begin for i := 0 to stepsize - 1 do begin ps1:=@psource[rowpitchsource*i]; // ( 0,i) ps2:=@ptarget[stepsize-1-i]; // (maxx-i,0); for j := 0 to stepsize - 1 do begin ps2[0]:=ps1[j]; inc(ps2,RowPitchTarget); end; end; inc(psource,stepsize); inc(ptarget,rpstep); end; end; // 3 more areas to do, with dimensions // - stepsy*stepsize * restx // right most column of restx width // - stepsx*stepsize * resty // bottom row with resty height // - restx*resty // bottom-right rectangle. restx:=source.ImageWidth mod stepsize; // typically zero because width is // typically 1024 or 2048 resty:=source.Imageheight mod stepsize; if restx>0 then begin // one loop less, since we know this fits in one line of "blocks" psource:=source.GetImagePointer(source.ImageWidth-restx,0); // gets pointer to pixel x,y ptarget:=Target.GetImagePointer(Target.imagewidth-stepsize,Target.imageheight-restx); for y := 0 to stepsy - 1 do begin for i := 0 to stepsize - 1 do begin ps1:=@psource[rowpitchsource*i]; // ( 0,i) ps2:=@ptarget[stepsize-1-i]; // (maxx-i,0); for j := 0 to restx - 1 do begin ps2[0]:=ps1[j]; inc(ps2,RowPitchTarget); end; end; inc(psource,stepsize*RowPitchSource); dec(ptarget,stepsize); end; end; if resty>0 then begin // one loop less, since we know this fits in one line of "blocks" psource:=source.GetImagePointer(0,source.ImageHeight-resty); // gets pointer to pixel x,y ptarget:=Target.GetImagePointer(0,0); for x := 0 to stepsx - 1 do begin for i := 0 to resty- 1 do begin ps1:=@psource[rowpitchsource*i]; // ( 0,i) ps2:=@ptarget[resty-1-i]; // (maxx-i,0); for j := 0 to stepsize - 1 do begin ps2[0]:=ps1[j]; inc(ps2,RowPitchTarget); end; end; inc(psource,stepsize); inc(ptarget,rpstep); end; end; if (resty>0) and (restx>0) then begin // another loop less, since only one block psource:=source.GetImagePointer(source.ImageWidth-restx,source.ImageHeight-resty); // gets pointer to pixel x,y ptarget:=Target.GetImagePointer(0,target.ImageHeight-restx); for i := 0 to resty- 1 do begin ps1:=@psource[rowpitchsource*i]; // ( 0,i) ps2:=@ptarget[resty-1-i]; // (maxx-i,0); for j := 0 to restx - 1 do begin ps2[0]:=ps1[j]; inc(ps2,RowPitchTarget); end; end; end; end;

    Read the article

  • Convert PDF to Image Batch

    - by tro
    I am working on a solution where I can convert pdf files to images. I am using the following example from codeproject: http://www.codeproject.com/Articles/317700/Convert-a-PDF-into-a-series-of-images-using-Csharp?msg=4134859#xx4134859xx now I tried with the following code to generate from more then 1000 pdf files new images: using Cyotek.GhostScript; using Cyotek.GhostScript.PdfConversion; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RefClass_PDF2Image { class Program { static void Main(string[] args) { string outputPath = Properties.Settings.Default.outputPath; string pdfPath = Properties.Settings.Default.pdfPath; if (!Directory.Exists(outputPath)) { Console.WriteLine("Der angegebene Pfad " + outputPath + " für den Export wurde nicht gefunden. Bitte ändern Sie den Pfad (outputPath) in der App.Config Datei."); return; } else { Console.WriteLine("Output Pfad: " + outputPath + " gefunden."); } if (!Directory.Exists(pdfPath)) { Console.WriteLine("Der angegebene Pfad " + pdfPath + " zu den PDF Zeichnungen wurde nicht gefunden. Bitte ändern Sie den Pfad (pdfPath) in der App.Config Datei."); return; } else { Console.WriteLine("PDF Pfad: " + pdfPath + " gefunden."); } Pdf2ImageSettings settings = GetPDFSettings(); DateTime start = DateTime.Now; TimeSpan span; Console.WriteLine(""); Console.WriteLine("Extraktion der PDF Zeichnungen wird gestartet: " + start.ToShortTimeString()); Console.WriteLine(""); DirectoryInfo diretoryInfo = new DirectoryInfo(pdfPath); DirectoryInfo[] directories = diretoryInfo.GetDirectories(); Console.WriteLine(""); Console.WriteLine("Es wurden " + directories.Length + " verschiedende Verzeichnisse gefunden."); Console.WriteLine(""); List<string> filenamesPDF = Directory.GetFiles(pdfPath, "*.pdf*", SearchOption.AllDirectories).Select(x => Path.GetFullPath(x)).ToList(); List<string> filenamesOutput = Directory.GetFiles(outputPath, "*.*", SearchOption.AllDirectories).Select(x => Path.GetFullPath(x)).ToList(); Console.WriteLine(""); Console.WriteLine("Es wurden " + filenamesPDF.Count + " verschiedende PDF Zeichnungen gefunden."); Console.WriteLine(""); List<string> newFileNames = new List<string>(); int cutLength = pdfPath.Length; for (int i = 0; i < filenamesPDF.Count; i++) { string temp = filenamesPDF[i].Remove(0, cutLength); temp = outputPath + temp; temp = temp.Replace("pdf", "jpg"); newFileNames.Add(temp); } for (int i = 0; i < filenamesPDF.Count; i++) { FileInfo fi = new FileInfo(newFileNames[i]); if (!fi.Exists) { if (!Directory.Exists(fi.DirectoryName)) { Directory.CreateDirectory(fi.DirectoryName); } Bitmap firstPage = new Pdf2Image(filenamesPDF[i], settings).GetImage(); firstPage.Save(newFileNames[i], System.Drawing.Imaging.ImageFormat.Jpeg); firstPage.Dispose(); } //if (i % 20 == 0) //{ // GC.Collect(); // GC.WaitForPendingFinalizers(); //} } Console.ReadLine(); } private static Pdf2ImageSettings GetPDFSettings() { Pdf2ImageSettings settings; settings = new Pdf2ImageSettings(); settings.AntiAliasMode = AntiAliasMode.Medium; settings.Dpi = 150; settings.GridFitMode = GridFitMode.Topological; settings.ImageFormat = ImageFormat.Png24; settings.TrimMode = PdfTrimMode.CropBox; return settings; } } } unfortunately, I always get in the Pdf2Image.cs an out of memory exception. here the code: public Bitmap GetImage(int pageNumber) { Bitmap result; string workFile; //if (pageNumber < 1 || pageNumber > this.PageCount) // throw new ArgumentException("Page number is out of bounds", "pageNumber"); if (pageNumber < 1) throw new ArgumentException("Page number is out of bounds", "pageNumber"); workFile = Path.GetTempFileName(); try { this.ConvertPdfPageToImage(workFile, pageNumber); using (FileStream stream = new FileStream(workFile, FileMode.Open, FileAccess.Read)) { result = new Bitmap(stream); // --->>> here is the out of memory exception stream.Close(); stream.Dispose(); } } finally { File.Delete(workFile); } return result; } how can I fix that to avoid this exception? thanks for any help, tro

    Read the article

< Previous Page | 46 47 48 49 50 51 52 53 54 55 56 57  | Next Page >